.net column

.NET開発者のためのブログメディア

C#のコンテキストメニューについて詳しく解説!

2020年08月25日
SE
コンテキストメニューについて詳しく教えてください。
PM
ここではC#のコンテキストメニューについて詳しく見ていきましょう。

C#のコンテキストメニューについて

今回は、C#のコンテキストメニューについて説明します。コンテキストメニューとは、右クリックで表示されるメニューのことです。

標準のコンテキストメニューだけでなく、自作もできるので、C#のコンテキストメニューに興味のある方はぜひご覧ください。

標準のコンテキストメニュー

TextBoxではデフォルトでコンテキストメニューが表示されます。

実際のソースコードを見てみましょう。

TextBox上で右クリックするとコンテキストメニューが表示され、コンテキストメニューからのコピーや貼り付けなどが行えます。また、Ctrl-CやCtrl-Vも使用できます。

コンテキストメニューの非表示

C#では、ShortcutsEnabledプロパティをfalseにすると、コンテキストメニューを非表示にできます。

実際のソースコードを見てみましょう。

コンテキストメニューが表示されないことが分かります。また、Ctrl-CやCtrl-Vは使用できません。

C#では空のコンテキストメニューを設定することで、コンテキストメニューを非表示にできます。

実際のソースコードを見てみましょう。

コンテキストメニューが表示されないことが分かります。この場合、Ctrl-CやCtrl-Vは使用できます。

自作のコンテキストメニュー(ContextMenu)

C#では、ContextMenuコントロールを使用すれば、コンテキストメニューを自作できます。

実際のソースコードを見てみましょう。

TextBox上で右クリックすると、独自のコンテキストメニューが表示され、コンテキストメニューを選択すると、コンソールに出力されます。

自作のコンテキストメニュー(ContextMenuStrip)

ContextMenuStripコントロールは、ContextMenuコントロールの後継バージョンです。ContextMenuコントロール以上の機能を提供します。

実際のソースコードを見てみましょう。

TextBox上で右クリックすると、独自のコンテキストメニューが表示されます。また、C#では多階層のコンテキストメニューにしたり、チェックを付けたりできます。

左クリックでコンテキストメニュー表示

C#では、MouseClickのイベントハンドラを利用すれば、左クリックでコンテキストメニューを表示できます。

実際のソースコードを見てみましょう。

Showメソッドでは、座標を指定すれば任意の場所にコンテキストメニューを表示でき、クリック座標を取得して、クリック座標からコンテキストメニューを表示しています。

このように、C#ではMouseClickのイベントハンドラを利用すれば、左クリックでコンテキストメニューを表示できます。

SE
コンテキストメニューは自作もできるのですね。
PM
実際のソースコードを参考にして、自作しより理解を深めていきましょう。

独自のコンテキストメニューを自作してみましょう

いかがでしたでしょうか。コンテキストメニューとは、右クリックで表示されるメニューのことです。C#標準のコンテキストメニューだけでなく、左クリックで表示するなどの、自作方法についても説明しました。

ぜひご自身でC#のソースコードを書いて、理解を深めてみましょう。

 


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)