我试图在C#中编写一个程序,允许用户输入已售出的座位数,然后程序将每个数字乘以价格,以得出每个部分中有多少个树枝。我已经到了最后,但由于texbox.toString部分下面的红线,他的程序无法正常工作。有人能帮助我知道我的错误是什么吗?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label7_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
textBox4.Text = "";
textBox3.Text = "";
textBox2.Text = "";
total.Text = "";
input1.Text = "";
input2.Text = "";
input3.Text = "";
}
private void button1_Click(object sender, EventArgs e)
{
int input1;
int input2;
int input3;
input1 = int.Parse(input1.ToString());
input2 = int.Parse(input2.ToString());
input3 = int.Parse(input3.ToString());
int sum1 = input1 * 15;
int sum2 = input2 * 12;
int sum3 = input3 * 9;
sum1 = textBox3.ToString();
sum2 = textBox2.ToString();
sum3 = textBox4.ToString();
}
}
答案 0 :(得分:1)
获取textBox中写的string
:
textBox.Text;
在textBox中显示值sum
:
textBox.Text = sum.ToString();
这至少是button1_Click
的样子:
private void button1_Click(object sender, EventArgs e)
{
int in1; // change int names to not confuse woth textboxes
int in2;
int in3;
in1 = int.Parse(input1.Text); // input1 is textBox
in2 = int.Parse(input2.Text);
in3 = int.Parse(input3.Text);
int sum1 = in1 * 15;
int sum2 = in2 * 12;
int sum3 = in3 * 9;
textBox3.Text = sum1.ToString();
textBox2.Text = sum2.ToString();
textBox4.Text = sum3.ToString();
}
答案 1 :(得分:0)
您可以只使用
int.Parse(textbox.Text);
答案 2 :(得分:0)
sum
是一个整数,但textBox.ToString()
是一个字符串。您不能将字符串分配给整数
应该是
textBox3.Text = sum1.ToString();
答案 3 :(得分:0)
问题出现了,因为您试图将字符串的值存储到int中。
该行:
sum = textBox.ToString();
只是将textBox
的值转换为字符串,而不是 textBox
中文本的值,并将其传递给sum
变量。那不会起作用。
请改为尝试:
sum = Convert.ToInt32(textBox.Text);
但是,如果您想在sum
中显示textBox
的值,则可以隐式地从int转换为字符串:
textBox.Text = sum;
答案 4 :(得分:0)
使用"文字"而是文本框控件的属性。最好将它设置为" input1.Text.Trim()",因为这会删除意外进入输入的任何前导/尾随空格。
作为最佳实践,特别是在UI中从文本控件获取值时,最好使用Int32.TryParse。 (请参阅:Parse v. TryParse)
另外,您的代码不遵循基本的命名约定。