无法动态创建文本框
问题描述:
我点击添加按钮时必须创建三个文本框。最初我试图生成一个单独的文本框,但不能这样做。我从这个论坛以及 http://csharp.net-informations.com/gui/dynamic-controls-cs.htm接受了帮助。无法动态创建文本框
点击添加按钮时,我看不到任何文本框。
namespace DataDashBoard.UI
{
public partial class DataForm : Form
{
int cLeft = 1;
public DataForm()
{
InitializeComponent();
}
public TextBox AddNewTextBox()
{
TextBox txt = new TextBox();
this.Controls.Add(txt);
txt.Top = cLeft * 25;
txt.Left = 100;
txt.Text = "TextBox " + this.cLeft.ToString();
cLeft = cLeft + 1;
return txt;
}
private void btnAdd_Click(object sender, EventArgs e)
{
AddNewTextBox();
}
}
}
请帮忙!!!
答
确保您的btnAdd_Click
事件处理程序被调用。
在其中放置一个断点并在调试模式下启动您的应用程序。
干杯
+0
是的,我调试我的代码。执行进入'btnAdd_Click'事件,然后调用方法'public TextBox AddNewTextBox()'。但该文本框也不会出现在表单中。请建议 – user4221591
答
您是否将按钮事件处理程序与按钮单击事件相关联?您可以通过选择表单设计器中的按钮然后在属性面板中显示事件来完成此操作。
如果您从链接的页面复制代码而不创建按钮与事件处理程序之间的关联,则该按钮将不会执行任何操作。
我刚刚将您的代码复制到我的winform应用程序中,并且您的代码没有任何错误。 – GIANGPZO