メニュー項目にショートカットキーを設定する
IronPythonで作成するGUIについて、メニュー項目にショートカットキーを設定したい。
SharpDevelopのデザイン画面で、まずメニューを設置する。ここでは、ウィンドウを閉じるExit項目だけの簡単なものを作成した。
メニュー項目Exitのプロパティを見ると、「Misc」に「ShortcutKeys」がある。
ここで、ショートカットキーとして割り当てるキーを指定する。Ctrl+Qを指定した。
これでショートカットキーの設定は完了した。Crtl+Qでウィンドウを閉じることができる。
作成されたソースコードは以下のようになる。
import datetime import System.Drawing import System.Drawing.Printing import System.Windows.Forms from System.Drawing import * from System.Drawing.Printing import * from System.Windows.Forms import * class MainForm(Form): def __init__(self): self.InitializeComponent() def InitializeComponent(self): self._menuStrip1 = System.Windows.Forms.MenuStrip() self._fileToolStripMenuItem = System.Windows.Forms.ToolStripMenuItem() self._exitToolStripMenuItem = System.Windows.Forms.ToolStripMenuItem() self._menuStrip1.SuspendLayout() self.SuspendLayout() # # menuStrip1 # self._menuStrip1.Items.AddRange(System.Array[System.Windows.Forms.ToolStripItem]( [self._fileToolStripMenuItem])) self._menuStrip1.Location = System.Drawing.Point(0, 0) self._menuStrip1.Name = "menuStrip1" self._menuStrip1.Size = System.Drawing.Size(283, 26) self._menuStrip1.TabIndex = 0 self._menuStrip1.Text = "menuStrip1" # # fileToolStripMenuItem # self._fileToolStripMenuItem.DropDownItems.AddRange(System.Array[System.Windows.Forms.ToolStripItem]( [self._exitToolStripMenuItem])) self._fileToolStripMenuItem.Name = "fileToolStripMenuItem" self._fileToolStripMenuItem.Size = System.Drawing.Size(40, 22) self._fileToolStripMenuItem.Text = "File" # # exitToolStripMenuItem # self._exitToolStripMenuItem.Name = "exitToolStripMenuItem" self._exitToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q self._exitToolStripMenuItem.Size = System.Drawing.Size(152, 22) self._exitToolStripMenuItem.Text = "Exit" self._exitToolStripMenuItem.Click += self.ExitToolStripMenuItemClick # # MainForm # self.ClientSize = System.Drawing.Size(283, 163) self.Controls.Add(self._menuStrip1) self.MainMenuStrip = self._menuStrip1 self.Name = "MainForm" self.Text = "Test" self._menuStrip1.ResumeLayout(False) self._menuStrip1.PerformLayout() self.ResumeLayout(False) self.PerformLayout() def ExitToolStripMenuItemClick(self, sender, e): self.Close()