C#动态添加控件 textbox

2024-12-04 16:54:55
推荐回答(5个)
回答(1):

你这样是肯定没有的,因为click事件点击后立即执行完了,根本不能等待你输入的结果的。
理应的形式是:点击后出现textbox然后对话框弹出空。你的输入是没法赋值的。
如果要显示,将 String S;
TextBox txt = new TextBox();
txt.SetBounds(250, 0, 200, 400);
this.Controls.Add(txt);
txt.Enabled = true;
放在构造函数或者form_load事件中。
这样写:
TextBox txt = new TextBox();
String S;
private void button1_Click(object sender, EventArgs e)
{
S = txt.Text;
MessageBox.Show(S);
}

private void Form1_Load(object sender, EventArgs e)
{

txt.SetBounds(250, 0, 200, 400);
this.Controls.Add(txt);
txt.Enabled = true;
}

回答(2):

你的代码是不会显示任何数据的,以这种形式来看,你是按了按钮之后才显示文本框的吧,而且,每次在你点击按钮之后,都会重新初始化一个新的textbox,所以,你每次调用代码,textbox的text属性值一直是处于没有赋值的状态,不会显示数据的

回答(3):

  TextBox txt = new TextBox();
        String S;
        private void button1_Click(object sender, EventArgs e)
        {           
            S = txt.Text;
            MessageBox.Show(S);
        }

        private void Form1_Load(object sender, EventArgs e)
        {        
            
            txt.SetBounds(250, 0, 200, 400);
            this.Controls.Add(txt);
            txt.Enabled = true;
        }

回答(4):

你动态添加的textbox的Text属性没有赋值,S的内容自然没有了

回答(5):

你也没设置txt的Text属性,让他显示什么啊? 你写了这么多代码,最终效果就是在界面上显示文本框,然后把s用messagebox弹出一下。什么东西都没有!