メニュー項目にアイコンを表示する
メニュー項目にアイコンを表示するサンプルコード。
SharpDevelopのGUIにおいて、アイコンファイルを指定して自動的にコードを生成するとRunしてもエラーとなって表示できない。この現象はアイコンに限らず他の画像ファイルを表示するときにも同じことが起こる。であるから、解決方法もやはりすべてに共通の同じ方法になる。
Image.FromFile(ファイルパス)で表示したい画像ファイルを直接指定すればよい。
import System.Drawing import System.Windows.Forms from System.Drawing 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._test1ToolStripMenuItem = System.Windows.Forms.ToolStripMenuItem() self._test2ToolStripMenuItem = 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(284, 26) self._menuStrip1.TabIndex = 0 self._menuStrip1.Text = "menuStrip1" # # fileToolStripMenuItem # self._fileToolStripMenuItem.DropDownItems.AddRange(System.Array[System.Windows.Forms.ToolStripItem]( [self._test1ToolStripMenuItem, self._test2ToolStripMenuItem])) self._fileToolStripMenuItem.Name = "fileToolStripMenuItem" self._fileToolStripMenuItem.Size = System.Drawing.Size(40, 22) self._fileToolStripMenuItem.Text = "File" # # test1ToolStripMenuItem # self._test1ToolStripMenuItem.Image = Image.FromFile("D:/Temp/burnCD.ico") #ここで画像を指定 self._test1ToolStripMenuItem.Name = "test1ToolStripMenuItem" self._test1ToolStripMenuItem.Size = System.Drawing.Size(152, 22) self._test1ToolStripMenuItem.Text = "Test1" # # test2ToolStripMenuItem # self._test2ToolStripMenuItem.Image = Image.FromFile("D:/Temp/autoList.ico") #ここで画像を指定 self._test2ToolStripMenuItem.Name = "test2ToolStripMenuItem" self._test2ToolStripMenuItem.Size = System.Drawing.Size(152, 22) self._test2ToolStripMenuItem.Text = "Test2" # # MainForm # self.ClientSize = System.Drawing.Size(284, 262) 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()