
C#にてフォームアプリを作成しています。
そこでツリービューに表示されたノードを右クリックしたときにコンテキストメニューが表示される
ように下記のように記述しました。表示されたノードの上で右クリックすると「Export」、「Import」
というメニューが表示されます。
しかし、イベントハンドラの書き方がよくわかりません。
「Export」又は「Import」がクリックされたというイベントはどう検出すればよいでしょうか。
// ノード右クリック時の動作
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
// 右クリックでもノードを選択させる
if (e.Button == MouseButtons.Right)
{
// ノードの選択
treeView1.SelectedNode = treeView1.GetNodeAt(e.X, e.Y);
// コンテクストメニューの作成
ContextMenuStrip contextMenu = new ContextMenuStrip();
ToolStripMenuItem openLabel = new ToolStripMenuItem();
openLabel.Text = "Export";
ToolStripMenuItem deleteLabel = new ToolStripMenuItem();
deleteLabel.Text = "Import";
contextMenu.Items.Add(openLabel);
contextMenu.Items.Add(deleteLabel);
// ツリービューにコンテキストメニューを追加
treeView1.ContextMenuStrip = contextMenu;
}
}
No.1ベストアンサー
- 回答日時:
ToolStripMenuItemにはClickイベントがありますから,Clickイベントを普通に検出すればよいです。
詳しくはC#の文法書をお読みください。
a) ラムダ式を使ってハンドラを書く
openLabel.Click += (_, __) => { MessageBox.Show(this, "Export"); };
deleteLabel.Click += (_, __) => { MessageBox.Show(this, "Import"); };
b) 別途メソッドを用意してハンドラを追加する
private openLabel_Click (object sender, EventArgs e)
{
MessageBox.Show(this, "Export");
}
private deleteLabel_Click (object sender, EventArgs e)
{
MessageBox.Show(this, "Import");
}
openLabel.Click += openLabel_Click;
deleteLabel.Click += deleteLabel_Click;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
DLLファイルの逆コンパイラにつ...
-
C言語 関数、変数の宣言について
-
C言語でファクト関数を使わずに...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
バッチファイルで以下のような...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
c言語
-
VisualStudio2022でC言語プログ...
-
ストリームについて。
-
Cのオブジェクトファイルの逆ア...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
C#でTreeViewのCheckBoxのサイ...
-
昔Winnyってありましたけど、あ...
-
ノードとは
-
同じタグ名の項目取得
-
TreeViewに重複する値をセット
-
TreeViewのNodeについて
-
ツリービューを閉じさせたくない。
-
最長経路探索
-
2分探索木の高さを求めるプロ...
-
各ノードの行数取得
-
4色定理はなぜグラフ理論で証...
-
C# TreeView 効率良いノード追...
-
複数のマックPCによる数値計算...
-
プログラミングC言語について次...
-
C言語:文字列の並び替え
-
CTreeCtrlで、あるノード以下だ...
-
SNMP ステータスポーリングと...
おすすめ情報