web-dev-qa-db-ja.com

MessageBox.Show--フォントの変更?

MessageBoxクラスを使用してユーザーにエラーを表示していますが、これは適切な動作ではないかもしれませんが、非常に便利です。ただし、これはタッチスクリーンアプリケーションであるため、[OK]ボタンをそれよりもはるかに大きくする必要があります(極端に大きい指を呪います!)。

ダイアログボックスでフォントサイズを大きくしても大丈夫だと思います。それを行う方法はありますか?それとも、ダイアログのサイズを大きくする方法はありますか?

ありがとう

24
mmr

「通常の」ダイアログボックスはデフォルトのシステムフォント設定を使用しているため、私が知る限り、それはできません。

自分でロールするのがおそらく最善の方法です。行うのはかなり簡単で、とても楽しいです!また、画面の中央に中央揃えするなど、標準のダイアログがサポートしていないもの(PInvokeマジックなし)を組み込むことができます。

14

テキストボックスと2つのボタンを備えたフォームを使用します。プロジェクト全体でMessageBoxの代わりにこのフォームを使用します。テキストボックスのフォント、backColor、マルチラインなどをその場で変更できます。ボタンのサイズ、色、フォントも変更できます。

4
Sr.

私はこの目的のために自分のMessageBoxクラスを作成するでしょう-おそらくBigMessageBox?その場合、MessageBox.ShowをBigMessageBox.Showに置き換えるだけです。

別の方法は、フォームを変更するためにWindowsフックを使用することです- を見てくださいhttps://web.archive.org/web/20091208060754/http://msdn.Microsoft.com/en-gb/ .net 1.0の例については、magazine/cc188920.aspx を参照してください。これは現在のリリースではより簡単かもしれませんが、あなたのための例を見つけることができません。

4
Tass

無料で使用できる FlexibleMessageBox を確認してください。これは、MessageBoxの代わりに使用でき、(静的)FONTプロパティがあります。

よろしく、ヨルク

3
jreichert

解決策があります-CBTフックをインストールすることで、メッセージとボタンのフォント、ダイアログの背景、ダイアログの配置、アイコン、ボタンのキャプション、タイムアウトなど、さまざまなMessageBoxビジュアル設定をオンザフライで調整できます。

拡張メッセージボックス.NETアセンブリ http://www.news2news.com/vfp/?solution=5

2