IronPython の Windows フォームに TextBox コントロールを追加するコードがいくつかあります。フォームに OpenFileDialog ( FileDialogClass の ms doc へのリンク) コントロールを追加する方法を知りたいです。私が使用しなければならない python の作業実装は、鉄の python でのみ動作します。.Net オブジェクトの代わりに py gui ライブラリを試すと、作業中のシステムがクラッシュします。
コード
import clr
clr.AddReference('System.Windows.Forms')
clr.AddReference('System.Drawing')
from System.IO import Directory, Path
from System.Windows.Forms import (
DialogResult, MessageBox, MessageBoxButtons, MessageBoxIcon, OpenFileDialog
)
from System.Drawing import Point
from System.Windows.Forms import Application, Button, Form, OpenFileDialog, Panel, TextBox
#from documentreader import DocumentReader, XmlException
class SimpleTextBoxForm(Form):
def __init__(self):
self.Text= "Simple TextBox Example"
self.Width = 500
self.Height = 600
self.textbox = TextBox()
self.textbox.Text = "Set Parameter"
self.textbox.Location = Point(25, 75)
self.textbox.Width = 150
self.button1 = Button()
self.button1.Text = 'Press Me'
self.button1.Location = Point(25, 125)
self.button1.Click += self.getText
#get filename from file chooser
self.openFileDialog = OpenFileDialog()
#self.mainForm = mainForm
#self.openFileDialog.Filter = filter
#self.openFileDialog.Title = self.title
self.openFileDialog.Location = Point(125,55)
self.AcceptButton = self.button1
self.Controls.Add(self.textbox)
self.Controls.Add(self.button1)
self.Controls.Add(self.openFileDialog) ## if this line is commented out a form with TextBox is displayed
def getText(self, sender, event):
self.Text1 = self.textbox.Text
print(self.Text1)
form = SimpleTextBoxForm()
Application.Run(form)
戻る
type error: No method matches given arguments for Add
望ましい動作
Windows フォームに表示されるダイアログ ボックスを表示します。