2

というFontDialog箱がありますaFontDialog

このダイアログ ボックスに加えられた変更を検出できますか?

最初に、私のオブジェクトはこのコードを使用してダイアログを作成しaFontDialog.ShowDialog、ユーザーは変更を行い、ユーザーが変更に満足している場合、アプリケーションは次を受け取りますWindows.Forms.DialogResult.OK:

ここに画像の説明を入力

ユーザーがこのダイアログに加えた変更を検出することは可能ですか? 以前にダイアログのさまざまな側面の状態を記録し、その後の状態と比較する必要がありますか? または、変更を見つけるのに役立ついくつかのプロパティまたはメソッドがこのダイアログ ボックスに組み込まれていますか?

4

1 に答える 1

1

ここで最も重要なことは、なぜ変更を知る必要があるのか​​ということです。通常、フォントはトランザクション オブジェクトではないため、通常、過剰なネットワーク トラフィックを回避したり、データベース ラウンドトリップの数を最小限に抑えたりする必要はありません。

ユーザーがOKを押したかどうかを確認します。はいの場合は、現在のフォントとの類似性に関係なく、新しいフォントを設定します。これはたった 1 行のコードです。この新しいフォントを古いフォントに割り当てるだけです。

Me.Font = MyFontDialog.Font 'Me could be any control in this case

また、フォントが違う場合は、それが唯一の方法だと思います。Font.Bold = True読み取り専用であるため、たとえば set できないことを意味します。また、処理時間もそれほどかからないため、最適化しても意味がありません。

本当にやりたい場合は、OKFontDialog.Fontを確認した後に調べDialogResultて、そこに渡されたものと比較できますが、これがどこで役立つかはわかりません。

于 2013-03-08T02:57:50.783 に答える