C#
パターン1: MenuStrip —フォーム上部のメインメニュー
出典: WinForms メニュー3兄弟 — MenuStrip / ToolStrip / ContextMenuStrip の使い分けと DataGridView 連携 — パターン1: MenuStrip —フォーム上部のメインメニュー
//デザイナでMenuStripを追加し、Itemsに「ファイル」「編集」「ヘルプ」を登録
//「ファイル」配下に「開く」「保存」「終了」サブメニュー
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
//「保存」メニューのClickイベント
saveToolStripMenuItem.Click += (sender, e)=>
{
SaveData();
};
//「終了」メニューのClickイベント
exitToolStripMenuItem.Click += (sender, e)=>
{
this.Close();
};
// ShortcutKeys設定(デザイナでも可)
saveToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.S;
exitToolStripMenuItem.ShortcutKeys = Keys.Alt | Keys.F4;
}
private void SaveData()
{
//業務系の保存処理
MessageBox.Show("保存しました");
}
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「パターン1: MenuStrip —フォーム上部のメインメニュー」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
5 件public partial class MainForm : Form { public MainForm() {未収録
パターン2: ToolStrip —アイコン付きツールバー
#0cc7fa434216
public partial class MasterForm : Form { public MasterForm() {未収録
パターン3: ContextMenuStrip + DataGridView —右クリック編集メニュー
#a8ee6da07168
private void rowContextMenu_Opening(object sender, CancelEventArgs e) { //メニュー全体をキャンセル(表示しない) if (masterGridView.CurrentRow == null)未収録
パターン4: ContextMenuStrip.Opening —動的な表示制御
#00a271c9dc03
// ❌ NG:同一コントロールにContextMenuとContextMenuStrip両方設定 // myControl.ContextMenu = oldMenu; //旧式 // myControl.ContextMenuStrip = newStrip; //新式 // →動作は新式(ContextMenuStrip)が優先されるが、旧式のItemsは無視される未収録
ハマりポイント整理—旧式と新式の混在トラブル
#965b4140b789
//安全な切り替え myControl.ContextMenu = null; myControl.ContextMenuStrip = newStrip;未収録
ハマりポイント整理—旧式と新式の混在トラブル
#68f767bcd3df
