如何使用IronPython结合Windows.Forms实现Visual Basic输入框功能
WinForms输入框相关问题解答
内置输入框存在性说明
原生.NET WinForms类库未提供开箱即用的输入对话框组件,确实需要基于TextBox、Button、Form等基础控件自定义实现。
IronPython 实现代码示例
完整封装代码
import clr clr.AddReference("System.Windows.Forms") clr.AddReference("System.Drawing") from System.Windows.Forms import ( Form, Label, TextBox, Button, DialogResult, FormBorderStyle, StartPosition, Padding ) from System.Drawing import Size, Point class InputBox(Form): def __init__(self, title, prompt, default_value=""): # 基础窗体配置 self.Text = title self.Size = Size(380, 180) self.FormBorderStyle = FormBorderStyle.FixedDialog self.StartPosition = StartPosition.CenterScreen self.MinimizeBox = False self.MaximizeBox = False self.Padding = Padding(10) # 提示文本标签 self.label = Label() self.label.Text = prompt self.label.Location = Point(10, 10) self.label.Size = Size(340, 20) self.Controls.Add(self.label) # 输入文本框 self.textbox = TextBox() self.textbox.Location = Point(10, 40) self.textbox.Size = Size(340, 20) self.textbox.Text = default_value self.Controls.Add(self.textbox) # OK按钮 self.btn_ok = Button() self.btn_ok.Text = "OK" self.btn_ok.DialogResult = DialogResult.OK self.btn_ok.Location = Point(200, 80) self.btn_ok.Size = Size(75, 25) self.Controls.Add(self.btn_ok) self.AcceptButton = self.btn_ok # Cancel按钮 self.btn_cancel = Button() self.btn_cancel.Text = "Cancel" self.btn_cancel.DialogResult = DialogResult.Cancel self.btn_cancel.Location = Point(280, 80) self.btn_cancel.Size = Size(75, 25) self.Controls.Add(self.btn_cancel) self.CancelButton = self.btn_cancel @staticmethod def Show(title, prompt, default_value=""): box = InputBox(title, prompt, default_value) result = box.ShowDialog() if result == DialogResult.OK: return box.textbox.Text return None
调用方法
直接调用静态方法Show即可,返回值为用户输入的文本(点击Cancel返回None):
# 调用示例 user_input = InputBox.Show("输入框标题", "请输入你的内容:", "默认值") if user_input is not None: print(f"用户输入的内容是:{user_input}")
内容的提问来源于stack exchange,提问作者Nisse
相关产品推荐
相关产品推荐

