私は一日中この問題に取り組んできました。いくつかのメニュー項目を含むメニューストリップがあります。各アイテム、アイテムも多数取り揃えております。ここで、親メニュー項目をクリックすると、別の場所をクリックするまでコンテナー (contextmenu と同様) が開いたままになります。
画像の例では、"Clientes" が親アイテムになり、そこに子メニュー アイテムを含む "container" があります。
私がやりたかったのは、マウスが親アイテムまたはコンテナ領域を離れたときにその「コンテナ」を閉じることです。フォームの他の部分をクリックして閉じる必要はありません。私がそれを言うとき、それは私が実際にWPFボタンを使用していて、このようにする必要があるからです。
ここで助けが必要です。誰かが私にアドバイスをくれることを願っています。
親アイテム(「Clientes」など)のMouseLeaveイベントを使用しようとしましたが、次のことがありました:
private void clientesToolStripMenuItem_MouseLeave(object sender, EventArgs e)
{
clientesToolStripMenuItem.DropDown.Close();
}
これは機能しますが、明らかに、マウスがメニュー項目「Clientes」を離れると、親とコンテナーも閉じます。マウスが別の場所にあることがわかっている場合にマウスを閉じるために、マウスが親のメニュー項目の上にあるか、子のいずれかの上にあるかを知る方法が必要です。
誰かが私を助けてくれることを願っています。