[英]Get value from another tabpage
我目前在使用 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
这是变量作用域的问题。 在您的button2_Click
方法中,您可能会收到有关未声明age
的错误。
有几个选项:
button2_Click
方法中获取 age 的值。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
,因为文本框中的值可能不是数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.