2011-04-26 69 views
3

我想寫一個基於C#的winform來做一些自動化的文本輸入過程作爲我的工作的一部分。我希望將某些東西輸入到文本框中,從而避免我手動執行此操作。C#存儲從文本框中的字符串值並調用該變量

我能夠將輸入的數據作爲字符串變量存儲在文本框中,但我希望知道如何通過單擊單獨的文本框來調用它。從而「複製」一個盒子中的數據並將其放置在其他地方,幾次。

我不是100%肯定這是字符串應該如何保存,但是這是我的嘗試:

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     string chattextbox; 
    } 

我想下面

private void button1_Click(object sender, EventArgs e) 
{ 
    Application.OpenForms["Loginwindow"].BringToFront(); 
} 

要輸入的存儲字符串變量使後前面的窗口我希望從字符串變量中調用數據並使其具有它KeyPress「Enter」

希望我已經明確了我正在嘗試做什麼。

感謝所有

回答

6

在你的TextChanged事件處理程序,你有一個字符串變量聲明,但你不能在這一點上任何分配給它。要保存它,你需要這樣做:

string chattextbox; // member variable or property in your class 

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    chattextbox = textBox1.Text; 
} 

注意chattextbox必須在你的窗體類的成員變量,否則,如果你在方法的範圍內聲明的變量(比如在你的代碼),當方法返回時它將消失。

但實際上並不需要以這種方式保存它,儘管它幾乎可以在任何時候以textBox.Text的值存取。很多Winforms控件都有一個Text屬性,它擁有控件中顯示的字符串值,無論是按鈕,文本框,標籤等。您可能完全刪除此TextChanged處理程序,並只實現button1_Click(請參見下文)。

在你的button1_Click處理程序中,你可以得到像這樣的值。要將值傳遞給其他窗口,您需要在可以分配的其他窗口上使用屬性,或者在顯示它之前需要將其傳遞給構造函數。

private void button1_Click(object sender, EventArgs e) 
{ 
    Loginwindow.SomeProperty = textBox1.Text; // Set the string value on your other form somehow ??? 
    Application.OpenForms["Loginwindow"].BringToFront(); 
} 
+0

謝謝你的回答。當我對東西進行排序後會回覆 – Kyle 2011-04-26 04:20:46

3

在這裏,您不是將文本框的值分配給字符串,只是初始化字符串變量。

Private Void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    string chattextbox; 
    chattextbox=textBox1.Text; 
} 
+0

再次,有幫助,謝謝,我會回覆結果 – Kyle 2011-04-26 04:20:56

相關問題