我有一些代码可以将 TextBox 控件添加到 IronPython 中的 windows 窗体,我想知道如何将 OpenFileDialog (链接到 ms doc for FileDialogClass)控件添加到窗体。我必须使用的 python 的工作实现仅适用于 Iron python,如果我尝试使用 py gui 库而不是 .Net 对象,它会使系统在工作时崩溃。
代码
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
期望的行为
查看窗口窗体上显示的对话框。