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; } }
关键说明
- 创建窗体:通过
new Form()实例化新窗体对象,调用Show()方法非模态显示窗体(若需模态显示改用ShowDialog()) - 控件配置:实例化TextBox后,可直接设置其文本、颜色、位置等属性
- 添加控件到窗体:通过
myForm.Controls.Add(控件实例)将控件加入窗体的控件集合 - 原代码问题修正:
using语句会自动释放窗体资源,导致窗体无法显示,因此必须移除该语句
内容的提问来源于stack exchange,提问作者MJ2323
相关产品推荐
相关产品推荐

