- PR -

ContextMenuStripの動的変更

1
投稿者投稿内容
はたけ
常連さん
会議室デビュー日: 2006/02/08
投稿数: 27
投稿日時: 2008-08-20 21:57
右クリックでメニューを表示する、ContextMenuStripのプロパティですが、
動的に内容を変更をしたりすることは可能なのでしょうか?

表示時に画面の状態から、項目の使用可、不可を変更したいのですが、
どのイベントがメニューが表示される前に発生するのかがわかりません。
右クリック時にメニューが表示される前に使用可、不可を切り替えれば良いのでは?
と思っているのですが。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-08-21 00:02
引用:

右クリック時にメニューが表示される前に使用可、不可を切り替えれば良いのでは?
と思っているのですが。



直前の判定であれば、MouseDownではどうでしょうか?VS2005ならこんな感じです。
コード:
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        // 常に使えない
        xxxToolStripMenuItem.Enabled = false;
    }
}

Ahf
大ベテラン
会議室デビュー日: 2006/08/16
投稿数: 172
投稿日時: 2008-08-21 00:18
ToolStripDropDown.Opening イベント (System.Windows.Forms)

このあたりとかでしょうか?
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-08-21 02:02
引用:

直前の判定であれば、MouseDownではどうでしょうか?



標準のマウスはキーボードでも操作できるので、NGです。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-08-21 09:30
引用:

標準のマウスはキーボードでも操作できるので、NGです。



キーボードの考慮が漏れてました。ご指摘ありがとうございます。
はたけ
常連さん
会議室デビュー日: 2006/02/08
投稿数: 27
投稿日時: 2008-08-21 15:20
>>ToolStripDropDown.Opening イベント (System.Windows.Forms)

ありがとうございます。
上記イベントにより、無事に実現できました。
1

スキルアップ/キャリアアップ(JOB@IT)