![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
C#3.5を使用しています。
TreeViewのContestMenuStripのToolStripMenuItemをクリックしたときに
どの(複数のノードに同じContestMenuStripをセットしています)TreeViewのノードからのToolStripMenuItemが
クリックされたかを知るためにEventArgs e からTreeViewの選択されてるノードが取得したいのですが、
どうすれば良いのでしょうか?
private void itemAddToolStripMenuItem_Click(object sender, EventArgs e)
{
var ev = (System.Windows.Forms.ToolStripItemEventArgs)e;// ToolStripItemEventArgsにキャストすればよいかと思ったのですがエラーになります・・・
}
No.1ベストアンサー
- 回答日時:
こんにちは。
ToolStripItemEventArgsはItemAddedイベントからくるものなので、型が合わないのではないでしょうか。
http://msdn.microsoft.com/ja-jp/library/system.w …
取り合えず、ツリービューのClickイベント辺りで、コンテキストストリップを開く際、Tagメンバにツリービューのオブジェクトを入れて、コンテキストストリップのItemClickedイベントで取り出して見ると言うのは如何でしょう。
//ツリービューのClickイベント
private void treeView1_Click(object sender, EventArgs e)
{
MouseEventArgs mea = (MouseEventArgs)e;
if (mea.Button != MouseButtons.Right)
return;
TreeView treeView = (TreeView)sender;
//Tagにツリービューのオブジェクトを入れる
this.contextMenuStrip1.Tag = treeView;
//コンテキストストリップを表示
this.contextMenuStrip1.Show(treeView, mea.Location);
}
//コンテキストストリップのItemClickedイベント
private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ContextMenuStrip cms = (ContextMenuStrip)sender;
//先程記録しておいたツリービューのオブジェクトを取り出す
TreeView treeView = (TreeView)cms.Tag;
//ツリービューに選択されているノードが無ければ引き返す
if (treeView.SelectedNode == null)
return;
//選択されているノード名を表示する
MessageBox.Show(treeView.SelectedNode.Name);
}
ご返答ありがとうございます。
なるほど、まずツリービューのイベントでTagにセットするわけですね。
そのやり方でできました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- XML マスターノード 1 2023/03/14 10:38
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- その他(お金・保険・資産運用) お金配りのメール来ましたか? 4 2022/12/25 18:36
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Windows 10 windowsでタスクバーのアイコンをクリックするだけですぐアクティブウィンドウに切り替えられるよう 1 2023/06/11 20:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python3について。
-
vba クリップボードクリアにつ...
-
Pythonのコードエラーについて...
-
ホームページのプログラムの見...
-
IT業界より楽に稼げる業界って...
-
JRのjsonファイルって使って大...
-
HTMLソースが表示のページのも...
-
正規表現 URL抽出「 [\\/\\b]{0...
-
google formsを使ったタスク依...
-
このプログラミング言語のfor分...
-
プログラミング未経験者(殆ど未...
-
初心者が簡単なPowerShellスク...
-
ホワイトハッカー
-
pythonでのカーソル移動がずれる
-
恒久的リダイレクトについて
-
プログラマーと学歴の関係性に...
-
Pythonで仮想通貨の自動売買が...
-
16x16のスプライトフォント
-
Google ColaboでGUI作成
-
REGZAに接続できない(パソコン)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
あるノードリストに、特定の名...
-
同じタグ名の項目取得
-
コンテキストメニュークリック...
-
ノードとは
-
XML文書の指定した属性値を持つ...
-
ツリービューのノードをダブル...
-
2分探索木の高さを求めるプロ...
-
C# TreeView 効率良いノード追...
-
VB6.0でDOMを使用して...
-
スケールフリーネットワークをC...
-
C#でtreeviewの指定ノードを選...
-
複数のマックPCによる数値計算...
-
TreeViewに重複する値をセット
-
ツリービューの使い方が・・・
-
各ノードの行数取得
-
TreeViewの再表示のちらつきを...
おすすめ情報