You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:54:03