2011-12-03 70 views
2

我正在使用WinForms應用程序。我的表單中有四個文本框和一個按鈕。我在點擊按鈕時使用textBox1.SelectedText += "any string",因此它會寫入第一個TextBox。如果我添加textBox1.SelectedText += "any string."那麼它寫入文本框1和文本框2.如何使用按鈕單擊在特定文本框中輸入文本

當我點擊textbox1並按下按鈕然後刺只寫在第一個文本框,我點擊第二個文本框,然後按下按鈕,然後它寫入第二文本框。是否有任何方法可以做到這一點?

我正在使用以下代碼。

private void button1_Click(object sender, EventArgs e) 
{ 
    textBox1.SelectedText += "abc"; 
    textBox2.SelectedText += "abc";   
} 

當我專注於控制,當我們按下按鈕焦點轉到按鈕。那麼按下按鈕後,我們如何才能將注意力集中在我的表格的文本框中?

+0

我覺得你的標題是錯誤的:_「如何輸入文字...」 _,但在這個問題你問_「怎能重點的文本框中的一個我按下按鈕後的形式_「... – Marco

+0

道歉..我寫錯了title.it將是你寫的。 –

回答

1

你可以試試這個

TextBox selTB = null; 

    public Form1() 
    { 
     InitializeComponent(); 
     textBox1.Enter += tb_Enter; 
     textBox2.Enter += tb_Enter; 
     textBox3.Enter += tb_Enter; 
     textBox4.Enter += tb_Enter; 
    } 

    ~Form1() 
    { 
     textBox1.Enter -= tb_Enter; 
     textBox2.Enter -= tb_Enter; 
     textBox3.Enter -= tb_Enter; 
     textBox4.Enter -= tb_Enter; 
    } 

    private void tb_Enter(object sender, EventArgs e) 
    { 
     selTB = (TextBox)sender; 
    } 


    private void button1_Click(object sender, EventArgs e) 
    { 
     // Do what you need 
     selTB.SelectedText += "abc"; 

     // Focus last selected textbox 
     if (selTB != null) selTB.Focus(); 
    } 

的想法是,當你輸入一個文本框,你將它存儲在selTB
所以,你點擊按鈕,你知道哪一個文本框是最後一個被選中的文本框。

+0

您好,我的問題是,當我們點擊textbox1並按下按鈕時,與按鈕相關聯的文本將僅轉到textbox1。如果我選擇textbox2並按下按鈕,那麼它會去textbox2只有兩個文本框。我怎樣才能做到這一點? –

+0

@vipinkatiyar:我編輯我的答案把文本放入文本框。這是你需要的嗎?你試過我的代碼嗎?讓我知道 – Marco

+0

是的宏現在的工作。 –

2

你可以拿樣品如下,希望這會給你靈感。

public partial class Form7 : Form 
{ 
    private TextBox textBox = null; 
    public Form7() 
    { 
     InitializeComponent(); 

     // Binding to custom event process function GetF. 
     this.textBox1.GotFocus += new EventHandler(GetF); 
     this.textBox2.GotFocus += new EventHandler(GetF); 
    } 

    private void GetF(object sender, EventArgs e) 
    { 
     // Keeps you selecting textbox object reference. 
     textBox = sender as TextBox; 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     // Changes you text box text. 
     if (textbox != null) textBox.SelectedText += "You text"; 
    } 
} 
+0

嗨JKhuang,它爲我工作的許多Thnaks的答覆.. –

+0

@JKhuang,vipin:我修改了代碼,以便您沒有得到NullReferenceException如果在用戶單擊按鈕之前沒有選擇文本框。 –

相關問題