@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

.NET FrameworkのPrintPreviewControl.Documentプロパティは.NET 4からInvalidatePreviewメソッドを呼ぶ

とあるアプリケーションの対象とする.NET Frameworkのバージョンを上げたところ

printPreviewControl.Document = pd;

という、一見、副作用がなさそうなソースコードの有無で振るまいが変わるようになりました。

調べてみたら、表題の通り、PrintPreviewControl.Document プロパティに値をセットしたときに

  • .NET 2 ~ 3.5 の間で InvalidatePreview メソッドが呼ばれない
  • .NET 4 以降は InvalidatePreview メソッドが呼ばれる

という違いを確認しました。

検証用のリポジトリ は次です。

github.com

参考