2015-11-19 89 views
2

我是新的Visual Studio C#。這可能是一個愚蠢的問題,但我找不到下一個代碼的解決方案。 我想導入一個文本框(這工作),我想將它們導入到一個文本文件。c#視覺工作室文本框到文本文件

private void Rbalast_TextChanged(object sender, EventArgs e) 
    { 
     string balastR = Rbalast.Text; 

    } 
    private void EXPORT_Click(object sender, EventArgs e) 
    { 

    System.IO.StreamWriter file = new System.IO.StreamWriter("d:/VAR/200_runSheet_Tests/.txt"); 
    file.Write(balastR); 
    file.Close(); 
} 

我認爲這是由於私人空白,但我找不到解決方案來改變這一點。

+1

範圍我的朋友代替file.Write(balastR);。看看這個.. https://msdn.microsoft.com/en-us/library/ms973875.aspx –

+2

'balastR'是一個局部變量,將不能以不同的方法訪問它。只要做'file.Write(Rbalast.Text);' – PoweredByOrange

+0

這是一個解決方案@PoweredByOrange。但是,這仍然不會幫助OP明顯缺乏關於變量範圍的知識 –

回答

0

這裏你的問題是缺乏變量範圍的知識。

要解決這個問題,你有兩個選擇。

1)將變量balastR放在類範圍中方法Rbalast_TextChanged的上方,這將允許您按照當前的方式在EXPORT_Click中使用它。

2)PoweredByOrange建議去吧,只是file.Write(Rbalast.Text);

+1

你會建議有人按照這裏的第一個選項?看起來好像讓本地字段與TextBox文本保持同步(可以從相同的範圍訪問,本質上,就像字段一樣)引入了可能導致錯誤的不必要的複雜層。 –

+0

這真是@MatthewHaugen。但是,列出第一個選項應該有助於「爲什麼」OP的當前解決方案不起作用,以及變量範圍的含義。即使第二個建議是一個更好的建議。 –