とあるアプリケーションの対象とする.NET Frameworkのバージョンを上げたところ
printPreviewControl.Document = pd;
という、一見、副作用がなさそうなソースコードの有無で振るまいが変わるようになりました。
調べてみたら、表題の通り、PrintPreviewControl.Document
プロパティに値をセットしたときに
- .NET 2 ~ 3.5 の間で
InvalidatePreview
メソッドが呼ばれない - .NET 4 以降は
InvalidatePreview
メソッドが呼ばれる
という違いを確認しました。
検証用のリポジトリ は次です。