4

オプション YesNo を指定して MessageBox を開くと、(通常は) 右上に取り消し用のクロスが表示されますが、効果はありません。

System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNo);

オプションとして YesNoCancel を指定すると、十字をクリックすると DialogResult Cancel でダイアログが閉じます。

System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNoCancel);

クリックしても効果がない場合、クロスがまったく非表示になっていない場合は、クロスが「無効に見える」と予想していました。おそらく私はこれを観察した最初の人ではありません。このボタンを非表示/無効にする、または問題を回避するためのお気に入りの方法は何ですか?

注: 私は System.Windows.Forms を使用しないソリューションを好みます。なぜなら、私は WPF プロジェクトを扱っており、可能であれば InterOp を避けたいからです。

4

3 に答える 3

11

[閉じる]ボタン(MsgBoxのタイトルバー内):MsgBoxウィンドウはオペレーティングシステムの組み込み機能であるため、Xボタンは特定のボタンが存在する場合にのみ有効になります。[OK]ボタンしかない場合は、[X]ボタンをクリックするのは[OK]を押すのと同じです。それ以外の場合、[キャンセル]ボタンがない限り、[X]ボタンは無効になります。この場合、[X]をクリックすることは、[キャンセル]を押すことと同じです。

http://www.autohotkey.com/docs/commands/MsgBox.htm

そのデフォルトの動作!MsgBoxの時からMessageBoxの時まで!

于 2010-03-30T08:59:57.340 に答える
2

このCodeProject の記事を確認してください。これは、独自の MessageBox クラスのスピンについて概説しています。閉じるボタンを無効にするセクションがあります。

于 2009-10-09T21:53:19.873 に答える