WindowsMobileのメニューについて
WindowsMobile用アプリではデフォルトで下にメニューがあります。
開発する際はデフォルトでメニューには何も表示されておらず、
使用していませんが、折角なので使用してみました。
方法としては、
1.System.Windows.Forms.MenuItemクラスをメンバに追加する。
2.System.Windows.Forms.MainMenuクラスにMenuItemクラスを追加する。
3.System.Windows.Forms.MenuItemクラスにイベントを追加し、
イベント発生時に起動されるメソッドを作成する。
(通常Clickイベントにイベントハンドラを追加します)
の3点です。
以下サンプル。
// 1.メニューアイテムの追加 private System.Windows.Forms.MenuItem menuItemOK; private System.Windows.Forms.MenuItem menuItemCancel; private void InitializeComponent() { this.menuItemOK = new System.Windows.Forms.MenuItem(); this.menuItemCancel = new System.Windows.Forms.MenuItem(); this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.lblHour = new System.Windows.Forms.Label(); this.textExecBattery = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.lblRemaindarBattery = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.drawTimer = new System.Windows.Forms.Timer(); this.pnlRemaindarBattery = new System.Windows.Forms.Panel(); this.label1 = new System.Windows.Forms.Label(); this.panel1 = new System.Windows.Forms.Panel(); this.pnlRemaindarBattery.SuspendLayout(); this.panel1.SuspendLayout(); this.SuspendLayout(); ・ ・ ・ 省略 ・ ・ ・ // // 3.イベントハンドラの追加 // menuItemOK // this.menuItemOK.Text = "OK"; this.menuItemOK.Click += new System.EventHandler(this.menuItemOK_Click_1); // // 3.イベントハンドラの追加 // menuItemCancel // this.menuItemCancel.Text = "Close"; this.menuItemCancel.Click += new System.EventHandler(this.menuItemCancel_Click_1); // // 2.メニューにアイテムを追加する // this.mainMenu1.MenuItems.Add(this.menuItemOK); this.mainMenu1.MenuItems.Add(this.menuItemCancel); } // 3.クリック時に起動されるメソッドの定義 private void menuItemCancel_Click_1(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.drawTimer.Enabled = false; this.Close(); }
と、こんな感じでメニューが追加されました。
折角あるのに使わずには勿体無いですよね。
OK,キャンセルボタン程度ならメニューを使用した方が見た目もすっきりします。