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

C#实现点击按钮新建窗体并向新建窗体添加控件

C# 点击按钮创建新窗体并添加控件

实现逻辑

  • 点击第一个按钮直接创建并显示空白新窗体
  • 点击第二个按钮创建带样式的TextBox控件,将其添加到新窗体后显示

修正后的完整代码

原代码中存在一处问题:使用using语句包裹新窗体实例会导致窗体被立即释放无法显示,以下是修正后的可运行代码:

public partial class Form1 : Form
{
    // 初始化控件垂直位置变量,避免未赋值报错
    private int top = 20;

    public Form1()
    {
        InitializeComponent();
    }

    // 创建并显示空白新窗体
    public void button2_Click(object sender, EventArgs e)
    {  
        Form myForm = new Form();
        myForm.Show();
    }

    // 创建带样式的TextBox并添加到新窗体
    public void createControl_Click(object sender, EventArgs e)
    {
        TextBox textBox = new TextBox();
        textBox.Text = "Hi Hello";
        textBox.ForeColor = Color.BlueViolet;
        textBox.BackColor = Color.Silver;
        textBox.Top = top;
        textBox.Left = 20;
        
        // 移除using块,确保窗体正常显示
        Form myForm = new Form();
        myForm.Controls.Add(textBox);
        myForm.Show();
        
        // 调整top值,后续添加控件不会重叠
        top += 30;
    }
}

关键说明

  1. 创建窗体:通过new Form()实例化新窗体对象,调用Show()方法非模态显示窗体(若需模态显示改用ShowDialog())
  2. 控件配置:实例化TextBox后,可直接设置其文本、颜色、位置等属性
  3. 添加控件到窗体:通过myForm.Controls.Add(控件实例)将控件加入窗体的控件集合
  4. 原代码问题修正:using语句会自动释放窗体资源,导致窗体无法显示,因此必须移除该语句

内容的提问来源于stack exchange,提问作者MJ2323

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:31:06