C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: contextMenuStripのindex番号


(過去ログ 77 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■45274 / inTopicNo.1)  contextMenuStripのindex番号
  
□投稿者/ バラ (1回)-(2010/01/07(Thu) 19:43:38)

分類:[C#] 

VS2008 C#を使っています。

contextMenuStripでアイテムが押された時、どのアイテムが押されたか取得したいと思っております。
int xx = contextMenuStrip1.Items.IndexOf((ToolStripMenuItem)sender);
一番上の階層ならコレで取得できますが、
1つ下の階層などは
戻り値は-1しか帰ってきません。
どのようにしたらindex番号のようなものが取得できますでしょうか?
よろしくお願いいたします。
引用返信 編集キー/
■45279 / inTopicNo.2)  Re[1]: contextMenuStripのindex番号
□投稿者/ Azulean (496回)-(2010/01/08(Fri) 01:42:25)
メニューでのインデックス値にこだわる必要はないのでは?

そのメニューアイテムの Tag プロパティ に識別用の何か入れておくとか。
または Name プロパティからどのようなアイテムか識別するとか。
引用返信 編集キー/
■45283 / inTopicNo.3)  Re[2]: contextMenuStripのindex番号
□投稿者/ gtk2k (148回)-(2010/01/08(Fri) 14:43:38)
とりあえずこんな感じでやれば取得可能(どの階層でも可)
ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;
int idx = ((ToolStripDropDownMenu)tsmi.Owner).Items.IndexOf(tsmi);

引用返信 編集キー/
■45292 / inTopicNo.4)  Re[3]: contextMenuStripのindex番号
□投稿者/ バラ (2回)-(2010/01/08(Fri) 18:36:36)
Azulean さん、gtk2k さんありがとうございます。

gtk2k さんの方法で思った通りの事が出来ました。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -