C#로 여자친구 만들기(16일째)

8167 단어 C#
수고하셨습니다.다나카입니다.
인쇄 기능을 전날 작성한 텍스트 편집기에 오늘 추가합니다.
출력 인쇄 대화 상자
인쇄 대화 상자가 이미지로 출력되었습니다.
using System.Drawing.Printing;
/* 省略 */
try
{
    printDocument1.DefaultPageSettings = _pageSetting;
    _strPrint = textBox1.Text;
    printDialog1.Document = printDocument1;

    if (printDialog1.ShowDialog() == DialogResult.OK)
    {
        printDocument1.Print();
    }
    else
    {
        return;
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "エラー");
}
printDialog1.ShowDialog()에 인쇄 대화 상자가 표시됩니다.
취소 또는×를 눌러 종료합니다.
인쇄 처리
Print Doocument, Print Dialog 도구를 사용합니다.
제작이 좀 복잡하니까 간단히 설명해 드릴게요.
1. 문자 글꼴 및 문자 크기 설정
Font font = new("MS UI Gothic", 11);
int numberChars;
int numberLines;
string printString;
StringFormat format = new();
2. 페이지에서 그릴 수 있는 영역 지정하기
RectangleF rectSquare = new(
      e.MarginBounds.Left,
      e.MarginBounds.Top,
      e.MarginBounds.Width,
      e.MarginBounds.Height
      );
3. 플롯 영역의 크기 지정
SizeF SquareSize = new(
      e.MarginBounds.Width,
      e.MarginBounds.Height - font.GetHeight(e.Graphics)
      );
4. 페이지당 인쇄 가능한 문자 및 행 수 계산
e.Graphics.MeasureString(
      _strPrint,
      font,
      SquareSize,
      format,
      out numberChars,
      out numberLines
      );
5. 인쇄 가능 영역에 페이지의 문자열을 그립니다.
e.Graphics.DrawString(
      printString,
      font,
      Brushes.Black,
      rectSquare,
      format
      );
6.1 페이지에 없는 경우 추가 인쇄
if (numberChars < _strPrint.Length)
{
    _strPrint = _strPrint.Substring(numberChars);
    e.HasMorePages = true;
}
else
{
    e.HasMorePages = false;
    _strPrint = textBox1.Text;
}
인쇄 미리 보기

Print PreviewDialog 부품을 사용합니다.
1. Print PreviewDialog 객체에 Print Doocument 객체를 등록합니다.
printPreviewDialog1.Document = printDocument1;
2. 인쇄 미리 보기 대화상자 표시
printPreviewDialog1.ShowDialog();
페이지 설정

PageSetupDialog 부품을 사용합니다.
1. 페이지 설정 대화상자 표시
pageSetupDialog1.ShowDialog();
최후
오늘 텍스트 편집기에 인쇄 기능이 추가되었습니다.
"인쇄"를 쓰는 행위는 매우 어려워서, 단지 한 번만 쓰는 것은 기억할 수 없다
인쇄 기능이 쓰여진 걸 옮기면 될 것 같아요.
나는 이번에 쓴 소스 부분을 틀에 쓰고 싶다.

좋은 웹페이지 즐겨찾기