我目前在使用 c# 從 windows 表單中的另一個標簽頁獲取值時遇到問題。我在 tabControl 中有 tabPage1 和 tabPage 2。我想將我在 tabpage1 中保存的值用于 tabPage 2 中的另一個計算,但我找不到這樣做的方法。這是我想要進一步理解我的問題的示例。請任何人幫我解決這個問題,謝謝。
private void button1_Click_1(object sender, EventArgs e)
{
double age = Convert.ToDouble(richTextBox1.Text);
}
private void button2_Click(object sender, EventArgs e)
{ double a=0;
for (int i=1,i<age,i )
{
a=a i;
}
}
Ps button1 在 tabPage1 中,button2 在 tabPage 2 中
uj5u.com熱心網友回復:
這是變數作用域的問題。在您的button2_Click方法中,您可能會收到有關age未宣告的錯誤。
有幾個選項:
button2_Click再次在您的方法中獲取年齡值。
private void button2_Click(object sender, EventArgs e)
{
double a = 0;
double age = Convert.ToDouble(richTextBox1.Text); // Get value again locally.
for (int i = 1; i < age; i )
{
a = 1;
}
}
這將意味著age在 范圍內可用button2_Click。
- 將它存盤在表單的一個屬性中,使其可用于該表單中的所有方法。
public partial class Form1 : Form
{
private int Age { get; set; } // Property that stores age in the class.
private void button1_Click_1(object sender, EventArgs e)
{
Age = Convert.ToDouble(richTextBox1.Text); // Store in property not local var
}
private void button2_Click(object sender, EventArgs e)
{
double a = 0;
for (int i = 1; i < Age; i ) // Loop to property value not local var.
{
a = 1;
}
}
}
您選擇哪個選項取決于您的用例(例如,如果在按下按鈕 2 之前需要按下按鈕 1,那么您將想要使用選項 2;但是如果您可以直接按下按鈕 2 而無需先按下按鈕 1,那么選項 1 將作業)。
請注意,在您的for回圈中您使用了逗號,您需要使用分號,我上面的示例更正了這一點。
此外,正如@LarsTech 所提到的,您需要int.TryParse理想地使用,因為文本框中的值可能不是數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/315633.html
上一篇:C#WinFormUpcountertohh:mm:ss
下一篇:同步呼叫異步函式更靈敏
