如何通过点击输入按钮创建新的TextBox
?如何将光标聚焦在新文本框上(每次创建新文本框时光标都集中在最后一个文本框上)?
我已经尝试过这段代码:
"private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Enter += new EventHandler(textBox1_Enter);
}
private void textBox1_Enter(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.Size = new Size(100, 50);
tb.Location = new Point(100, 100);
Controls.Add(tb);
}"
但是当我按下回车键
时,它不会创建新的文本框答案 0 :(得分:3)
加载表单时:
this.KeyDown += new KeyEventHandler(Form1_KeyDown);
然后
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TextBox textbox = new TextBox();
this.Controls.Add(textbox);
textbox.Focus();
}
}
基本上,创建按下某个键时触发的事件。如果键是返回键,则创建文本框。
您的示例代码实际上没有意义,因为当您希望从表单中触发事件时,您正在从文本框中触发事件。
答案 1 :(得分:0)
TextBox myTextBox=new TextBox();
myTextBox.Visible=true;
myTextBox.Left=100;
myTextBox.Top=200;
myTextBox.Text="ABC";
this.Controls.Add(myTextBox);
至于移动光标:
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = new Point(this.Left+myTextBox.Left+50,this.Top+myTextBox.Top+50);