2013-08-20 27 views
1

如何通過單擊輸入按鈕創建新的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); 
     }" 

但它不是創建一個新的文本框,當我按下輸入按鈕

+3

有很多方法可以做到這一點。你到目前爲止有什麼?你是否使用了代碼? MVVM?我們需要一些幫助。 –

+0

hi @Kazuo:我還沒有嘗試,但我很迷惑,當我點擊一個輸入按鈕時,我必須開始創建一個新的文本框 – Reinhardt

+0

hi @Kazuo:請再次參考我的問題。謝謝 – Reinhardt

回答

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(); 
    } 
} 

本質上,創建火災時,一個鍵被按下的情況下。如果鍵是返回鍵,則創建文本框。

您的示例代碼並沒有什麼意義,因爲您從文本框中觸發事件,並希望它們從窗體中觸發。

+0

沒有你幫助我,我真的不能幫助更多 – Jonesopolis

+0

謝謝,它有效 – Reinhardt

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); 
相關問題