コントロールのフォントサイズを動的に変える

Control.Font.Size = 9;

なんて形で直接変更しようとすると、実行時に読み取り専用でエラーになる。
この場合は

Control.Font = new Font( "フォント名", 9 );

というようにフォントを生成する必要がある。
なぜ一つ目だとだめかというと、おそらくFontがセットされるときにプロパティのセットメソッドが動作するはずなのだが、直接Sizeだけを変更してしまうとそのSetがうまく動作しないのでこのような動作なのだろう。