コンテキストメニューの作成
2024年11月16日
23:45
G3007_pc_form_con_txt_menu_add
概要
- 移行の当時、コンテキストメニューの追加をするとき、よく失敗していたので簡単に説明します
- やり方はいろいろあります、これが正式なものかは不明です
- とりあえず、動いているので掲載しますが
- 正式な方法が見つかれば、ご教示ください
Goma_mon プロジェクトを使います
ContextMenuStrip をドラッグして、グレーの部分に設置します
- 手間を節約するため、アブりが与えてくれる連番を今まで使っていましたが、メニューも与えられたコードをそのまま使います
プロパティを選択しても、コンテキストメニューのプロパティが表示されないことがあります
このような場合、Form1.cs と
Form1.cs[デザイン] を切り替えして、デザインに戻ることで表示されるかもしれません
- メニュータイトルの空欄にいきなり名称を入れてはいけません
- ここに入力された名称で、イベントコードが生成されるからです
- まず、識別文字と数値の組み合わせを入力します
- 漢字は入力できません
- まずメニューの件数を決めます 5件作ります
- メインフォームのメニューなので main000 main001
main002 と入力します
- これがイベント関数の名前の一部となり、関数の識別に使えます
- このようにイベント関数が自動的に生成されます
- 同じ方法で、すべてのメニューを上から順番に、ダブルクリックし、すべてのイベント関数を生成します
- 漏れがないように注意してください
- 失敗するとやり直しが大変です
- 慣れてからでも、コンテキストメニューを作る前の、プロジェクトフォルダをバックアップしておきます
- そうすると失敗しても、初めからやり直しができます
- 間違いなく、0-4のメニュー番号が出来ていることを確認します
- デザインに戻って、今度は漢字を入力します
- このように、実際に利用する漢字タイトルを入力します
- ハイフンは予備領域の意味です
- 何も入力しなければ、main002 が消えないのでわかりずらいのです
- 一度イベント関数が作られれば、名称を漢字に変更しても、正しく関数にジャンプします
- ビルドしてもメニューが開かないので、焦りました
- 大事な設定を忘れていました
- デザイン画面て、フォームのグレー部分をマウスでクリックし、フォーカスを当てて、プロパティを表示します
- ビルドして、フォーム上でマウスを右クリックするとこのように表示されます