ContextMenu(右クリックメニュー)を設定する

マウスの右クリックで起動するメニューを設定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. 空のプロジェクトを作成して下さい。
    詳細は Form を作成する を参照して下さい。
    自動生成(Windows アプリケーション)から構築した場合も、同じ要領です。
  2. [デザイン] を表示して [メニューとツールバー] から [ContexMenu] を貼り付けます。
    新しいバージョンでは [ContexMenuStrip] に変わっているかも知れません。
    ツールバーから張り付ける(ドラッグする)と Form の上部に [ここへ入力] が表示されます。
  3. ContexMenu の [ここへ入力] に直接「終了(&X)」とタイプします。
    その下の[ここへ入力] に「バージョン情報(&A)」とタイプします。
    ContextMenu 名は規定値で ContextMenuStrip1 になります。
  4. Form を選択して、ContextMenuStrip プロパティに ContextMenu 名を設定します。
    次の画像のように ContextMenu が正常に作成されると ContextMenuStrip1 が選択できるようになります。

  5. イベントハンドラを設定します。
    「終了(X)」を選択してプロパティからイベント(稲妻のアイコン)をクリックします。
    Click に「FileExit」とタイプして追加されたメソッドにプログラムを終了するコードを書きます。
        private void FileExit(object sender, EventArgs e)
        {
            this.Close();
        }
        
  6. 「バージョン情報(A)」を選択して「HelpAbout」とタイプします。
    HelpAbout() メソッドにバージョン情報を表示するコードを追加します。
        private void HelpAbout(object sender, EventArgs e)
        {
            MessageBox.Show("Contex Menu Sample Program  Ver 1.0");
        }
        
  7. プログラムを起動して、マウスの右クリックで Context Menu が表示されることを確認して下さい。
    Text Editor などで Context Menu を使用する場合は Rich Contex を参照して下さい、

【NOTE】

  1. 特定のメニュー項目を隠したい場合は、次のようにします。
        contextMenu1.MenuItems[1].Visible = false;
        
  2. 特定のメニューの名前を変更したい場合は、次のようにします。
        contextMenu1.MenuItems[1].Text = "機能B変更";
        
  3. 右クリックで無く、左クリックで Contex Menu を表示するときは、次のように書きます。
    private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            contextMenu1.Show(this, new Point(e.X, e.Y)) ;
        }
    }
    

超初心者のプログラム入門(C# Frame Work)