0

我有一些代码可以将 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

期望的行为

查看窗口窗体上显示的对话框。

4

0 回答 0