这是代码,请帮忙。它不起作用。我答应了它会。我无法将文本框的字符串转换为int,因此我无法进行所需的数学运算。
public Form1()
{
InitializeComponent();
}
int userVal = int.Parse(Form1.textBox1.Text);
private void button1_Click(object sender, EventArgs e)
{
int answer = (Form1.textBox1 * Form1.textBox2);
MessageBox.Show("MPG: ", answer);
}
首先。你应该从基础开始,因为在你的代码中你试图将两个TextBox
控件相乘,这是不可能的。
其次。我纠正了你的代码。
Int32.TryParse(someString,out anInt)
尝试将第一个参数(someString)转换为Int32
,并返回有关转换的布尔值,无论它是否成功。如果转换成功,则转换后的值将存储在第二个参数(anInt)中,Int32.TryParse(someString,out anInt)
将返回true
。
在更正后的代码中,您只需尝试从两个string
es转换TextBox
s。如果你能够这样做(Int32.TryParse
的返回值)只需将你从int
得到的两个Int32.TryParse
s相乘
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int num1,num2;
If(Int32.TryParse(textBox1.Text,out num1) && Int32.TryParse(textBox2.Text,out num2))
{
int answer = num1 * num2;
string output = "MPG: "+ answer.ToString();
MessageBox.Show(output);
}
}
int userVal = int.Parse(Form1.textBox1.Text);
首先,这行必须放在button1_Click函数中才能工作。但现在的问题是你使用字符串输入来接受数字,这不是一个好主意,因为如果你输入“abc”例如,int.Parse将抛出异常。
现在您只需要将textBox1和2替换为数字输入,然后使用以下代码:
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int answer = (numericalInput1.value * numbericalInput2.value);
MessageBox.Show("MPG: ", answer);
}