ファイルの保存ダイアログ
IronPythonによるGUIで、ファイルを保存するダイアログを開く処理を実装する。
SharpDevelopを使ってコードを書くことを想定する。
まず、ボタンを一つ設置する。このボタンを押したときにファイル保存ダイアログが開いてユーザーにフォルダとファイル名の入力を促すようにしたい。
SharpDevelopの左側のWindows Formsから「SaveFIleDialog」をドラッグして、下図のような状態にする。
ここで、ドラッグされた「saveFileDialog1」をダブルクリックするとコードの中で
self._saveFileDialog1.FileOk += self.SaveFileDialog1FileOk (中略) def SaveFileDialog1FileOk(self, sender, e):
このような行が追加される。これらはダイアログのOKボタンを押したときの処理に対応している。
ボタンを押したときに、ファイル保存のダイアログを開くようにするには以下の記述を追加する。
self._button1.Click += self.Button1Click (中略) def Button1Click(self, sender, e): self._saveFileDialog1.ShowDialog()
以上で、動くコードになる。ここでは、ファイル保存ダイアログでOKとしたときにファイルパスをprintする。
コードの全体は以下の通り。
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._button1 = System.Windows.Forms.Button() self._saveFileDialog1 = System.Windows.Forms.SaveFileDialog() self.SuspendLayout() # # button1 # self._button1.Location = System.Drawing.Point(67, 40) self._button1.Name = "button1" self._button1.Size = System.Drawing.Size(148, 51) self._button1.TabIndex = 0 self._button1.Text = "button1" self._button1.UseVisualStyleBackColor = True self._button1.Click += self.Button1Click # # saveFileDialog1 # self._saveFileDialog1.FileOk += self.SaveFileDialog1FileOk # # MainForm # self.ClientSize = System.Drawing.Size(284, 133) self.Controls.Add(self._button1) self.Name = "MainForm" self.Text = "test5" self.ResumeLayout(False) def Button1Click(self, sender, e): self._saveFileDialog1.ShowDialog() def SaveFileDialog1FileOk(self, sender, e): print self._saveFileDialog1.FileName
実行結果は以下の通り。