リスト ビューに ContextMenuStrip をアタッチしており、うまく機能していますが、知りたいのは、リストビューで 1 つ以上の項目が選択されている場合にのみ表示する方法です。
ありがとう!
リスト ビューに ContextMenuStrip をアタッチしており、うまく機能していますが、知りたいのは、リストビューで 1 つ以上の項目が選択されている場合にのみ表示する方法です。
ありがとう!
Opening
イベントをご利用いただけます。イベント引数には Cancel プロパティがあるため、アプリケーションの状態を調べて、メニューを表示する (何もしない) か、表示しないようにする ( を設定するe.Cancel = true
) かを決定できます。ただし、@Grzenio が言及しているように、右クリックした項目が自動的に選択されると、より直感的になります。
もう 1 つのオプションは、Opening
イベントを使用してコンテキスト メニューに無効な項目を 1 つだけ表示し、テキストなどを表示(no item is selected)
することです。これにより、コマンドが使用できない理由がユーザーに通知されます。
私にとっては、アイテムが選択されていない場合(または選択されていないアイテムを右クリックした場合)、コンテキストメニューを表示する直前にアイテムが自動的に選択されることが直感的です。
最初の解決策が受け入れられない場合は、項目が選択されたときに ContextMenuStrip をアタッチし、選択されていないときにデタッチすることを試みると思います。