0

グリッドコントロールのセルからサブダイアログを表示します。ダイアログには、キーボードからすばやくアクセスできるアンパサンド付きのアイテムを含むToolStripが含まれています。すべて正常に機能します。ALTを押してキーボードキューを表示したり、ALT + M、Cなどのキーストロークを発行して対応するToolStripコマンドをアクティブにしたりできます。

しかし、ToolStripのドロップダウンの1つを開いて選択しない場合、サブダイアログの外側をクリックしてこの方法で閉じると、ToolStripはおかしくなります。ダイアログを再度開くと、キーボードキューに最初に下線が引かれ、最後の最上位項目が強調表示される場合があり、ALTコマンドが機能しません。

ToolStripをリセットして、このシナリオで正しく機能させるにはどうすればよいですか?

4

1 に答える 1

0

以前、サブダイアログのOnHideイベントでToolStripDropDownのHideメソッドを使用して、ダイアログが閉じられたときにすべてのアクティブなドロップダウンメニューを自動的に閉じましたが、適切な解決策は次のとおりです。

fToolStripDropDownButtonClear.DropDown.Close(ToolStripDropDownCloseReason.ItemClicked)

つまり、「ItemClicked」パラメータ値を使用してCloseメソッドを正確に発行する必要があります。

于 2012-10-16T09:54:22.580 に答える