回答編集履歴

2

余談後ろ

2025/03/29 12:36

投稿

TN8001
TN8001

スコア10004

test CHANGED
@@ -1,18 +1,9 @@
1
1
  > 何も出力されず真っ白な画面1枚分しか出てきませんでした。
2
2
 
3
3
  すっごい罠っぽいですが`PrintPreviewDialog`を使用すると、`PrintPage`イベント(`DocWtr`)がダイアログ表示時と実際の印刷時の2セット走ります。
4
- 現在の実装ですと印刷時には`StreamReader`を読み終わっているのでなにも印刷されません。
4
+ 現在の実装ですと印刷時には`StreamReader`を読み終わっているので、(`while`内を通らず)なにも印刷されません。
5
5
 
6
- 知っている人からすれば当たり前なのかもしれませんが、何か注意書きくらい欲しいですね(わたしは知りませんでしたw
7
- ここのさらにサンプルコードの英語コメント中で、さらっと書いてあるのしか見つけられませんでした^^;
8
- [印刷プレビューを使用して印刷する - Windows Forms .NET Framework | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/desktop/winforms/advanced/how-to-print-in-windows-forms-using-print-preview)
9
- > ```cs
10
- > // If there are no more pages, reset the string to be printed.
11
- > if (!e.HasMorePages)
12
- > stringToPrint = documentContents;
13
- > ```
14
-
15
- 一番変更が少ないはサンプルのように、最終ページで`StreamReader`を頭に戻すことでしょうか。
6
+ 一番変更が少ない修正はサンプルのように、最終ページで`StreamReader`を頭に戻すことでしょうか。
16
7
  ```cs
17
8
  private void DocWtr(object sender, PrintPageEventArgs e)
18
9
  {
@@ -43,3 +34,14 @@
43
34
  }
44
35
  }
45
36
  ```
37
+
38
+ ---
39
+
40
+ 知っている人からすれば当たり前なのかもしれませんが、何か注意書きくらい欲しいですね(わたしは知りませんでしたw
41
+ ここのさらにサンプルコードの英語コメント中で、さらっと書いてあるのしか見つけられませんでした^^;
42
+ [印刷プレビューを使用して印刷する - Windows Forms .NET Framework | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/desktop/winforms/advanced/how-to-print-in-windows-forms-using-print-preview)
43
+ > ```cs
44
+ > // If there are no more pages, reset the string to be printed.
45
+ > if (!e.HasMorePages)
46
+ > stringToPrint = documentContents;
47
+ > ```

1

2025/03/28 14:26

投稿

TN8001
TN8001

スコア10004

test CHANGED
@@ -12,7 +12,7 @@
12
12
  > stringToPrint = documentContents;
13
13
  > ```
14
14
 
15
- 一番変更が少ないのはサンプルのように、最終ページ後に`StreamReader`を頭に戻すことでしょうか。
15
+ 一番変更が少ないのはサンプルのように、最終ページ`StreamReader`を頭に戻すことでしょうか。
16
16
  ```cs
17
17
  private void DocWtr(object sender, PrintPageEventArgs e)
18
18
  {