MessageBox.Show—フォントの変更?
-
04-07-2019 - |
質問
MessageBoxクラスを使用してユーザーにエラーを表示していますが、これは正しい動作ではないかもしれませんが、非常に便利です。ただし、これはタッチスクリーンアプリケーションなので、「ok」ボタンをそれよりもはるかに大きくする必要があります(異常に大きい指を呪います!)。
ダイアログボックスのフォントサイズを大きくしても問題ないと思います。それを行う方法はありますか?それとも本当に、ダイアログのサイズを大きくする方法はありますか?
ありがとう
解決
「通常の」ダイアログボックスはデフォルトのシステムフォント設定を使用しているため、私が知る限り、それはできません。
自分でロールするのがおそらく最善の方法です。それはかなり簡単で、とても楽しいです!また、画面の中央にセンタリングするなど、標準ダイアログではサポートされていないもの(PInvokeマジックなし)を組み込むことができます。
他のヒント
テキストボックスと2つのボタンがあるフォームを使用し、OK、キャンセルします。プロジェクト全体で、MessageBoxの代わりにこのフォームを使用します。テキストボックスのフォント、backColor、マルチラインなどをその場で変更できます。ボタンのサイズ、色、フォントも変更できます。
この目的のために独自のMessageBoxクラスを作成します-おそらくBigMessageBox?。 その場合、MessageBox.ShowをBigMessageBox.Showに置き換えるだけの問題になります。
別の代替手段は、Windowsフックを使用してフォームを変更することです- https://web.archive.org/web/20091208060754/http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx .net 1.0の例これは現在のリリースでは簡単かもしれませんが、例を見つけることができません。
解決策があります-CBTフックをインストールすることで、メッセージとボタンのフォント、ダイアログの背景、ダイアログの配置、アイコン、ボタンのキャプション、タイムアウトなど、さまざまなMessageBox視覚設定をオンザフライで調整できます。
拡張MessageBox .NETアセンブリ http://www.news2news.com/vfp/?solution=5
よろしく、 Jö rg