0

メインウィンドウと、さまざまなコマンドボタンを備えたツールストリップがあります。これらのコマンドには、「印刷」ボタンもあります(以下を参照)。「印刷」ボタンをクリックすると、サブフォームをモーダルレスダイアログとして表示する必要があります。なぜなら、サブフォームにはいくつかのオプションがあります。ユーザーがそれらを選択すると、メインフォームと対話することもできます。

ここに画像の説明を入力してください

一方、show()メソッドでは、ShowDialog()メソッドを使用してサブフォームを表示すると実行されるため、メインフォーム(以下を参照)のすべてのコントロールを無効にします。印刷ボタンをクリックすると、色が変わり、フォーカス/選択されていることがわかります。

ここに画像の説明を入力してください

クリックすると、サブフォームは下の写真のように表示されます。

ここに画像の説明を入力してください

論理的には、サブフォームを閉じると前のモードに戻るはずです。しかし、サブフォームでさえ表示されています...メインフォームの[印刷]ボタンはまだフォーカス/選択されています。サブフォームを閉じると、その「印刷」ボタンは以下のようにフォーカス/選択されたままです。

ここに画像の説明を入力してください

この「印刷」ボタンを初期状態のように表示するには、どのイベント/プロパティを変更する必要がありますか。

Invalidate()を試し、BackColorを変更しましたが、まだ要件を満たしていません。ガイドラインはありますか?

4

2 に答える 2

0

CheckOnClickボタンを「選択済み」に表示したくない場合は、ボタンのプロパティを false に設定します。それ以外CheckStateの場合は、サブフォームを閉じたときにボタンのプロパティを切り替えます。

于 2012-10-20T00:48:02.423 に答える
0

さて、ToolStripButton の Selected プロパティは読み取り専用です。誰でも、ツールストリップ ボタンの選択をクリアする必要があり、リフレクションを介して呼び出される以下のメソッドを使用できます。

MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
            method.Invoke(yourToolStripName, null);

これは : ToolStripItems の選択を解除する方法

楽しいプログラミング。

于 2012-10-24T09:55:53.597 に答える