タブにファイルを表示する
指定したディレクトリにおいて拡張子がicoである画像ファイルを、タブを表すタブコントロールに表示するプログラム。
import System.Drawing import System.Windows.Forms import System.IO from System.Drawing import * from System.Windows.Forms import * from System.IO import * class MainForm(Form): def __init__(self): self.InitializeComponent() def InitializeComponent(self): self.SuspendLayout() # # MainForm # self.ClientSize = System.Drawing.Size(300, 200) self.Name = "MainForm" self.Text = "test" self.ResumeLayout(False) tc = TabControl() dir = "D:\\Temp" fls = Directory.GetFiles(dir, "*.ico") pb = list() tp = list() for i in range(len(fls)): pb.append(PictureBox()) tp.append(TabPage()) for k in range(len(fls)): pb[k].Image = Image.FromFile(fls[k]) tp[k].Text = str(fls[k]) tp[k].Controls.Add(pb[k]) tc.Controls.Add(tp[k]) tc.Parent = self
ディレクトリ中のファイルを得るために、DirectoryクラスのGetFiles()メソッドを使用する。ファイル名を得る際にはicoファイルだけに絞り込む。得られたファイル数だけ、それぞれのタブのページを表すタブページを用意する。
次に、タブページに画像を読み込んだPictureBoxを追加する。さらにこのタブページをタブコントロールに追加する。
動かすときは以下のファイルも同じProjectに入れておく。
import clr clr.AddReference('System.Windows.Forms') clr.AddReference('System.Drawing') clr.AddReference('System.IO') from System.Windows.Forms import Application import MainForm Application.EnableVisualStyles() form = MainForm.MainForm() Application.Run(form)