C# 文本框文本将自身设置为空字符串
当我运行此程序时,会出现一个错误,显示为rpmTextBox.Text由于格式错误而无法转换,并且在调试器上显示为rpmTextBox.Text=”“。我在初始化中将0指定为字符串,但它将其设置为空字符串 有什么建议吗? 谢谢。您可以使用这个方法。还请记住,rpm不应等于0(否则您将得到):C# 文本框文本将自身设置为空字符串,c#,textbox,C#,Textbox,当我运行此程序时,会出现一个错误,显示为rpmTextBox.Text由于格式错误而无法转换,并且在调试器上显示为rpmTextBox.Text=”“。我在初始化中将0指定为字符串,但它将其设置为空字符串 有什么建议吗? 谢谢。您可以使用这个方法。还请记住,rpm不应等于0(否则您将得到): 设置powerTextBox.Text=“0”时会发生什么情况?您引发TextChanged事件。其他文本框文本未设置,因此其文本属性为空。然后这里:扭矩=功率/rpm*9550你有一个被零除的等待发生。输
设置
powerTextBox.Text=“0”时会发生什么情况代码>?您引发TextChanged
事件。其他文本框文本未设置,因此其文本属性为空。然后这里:扭矩=功率/rpm*9550代码>你有一个被零除的等待发生。输入必须经过验证。您不能盲目地解析传入的任何内容。请考虑在构造函数的末尾设置一个布尔值。然后在powerTextBox\u TextChanged
中,如果finishedload
为false
则退出(无点验证,仍在加载表单)。
public Form1()
{
InitializeComponent();
powerTextBox.Text = "0";
torqueTextBox.Text = "0";
rpmTextBox.Text = "0";
}
private void powerTextBox_TextChanged(object sender, EventArgs e)
{
power = Convert.ToDouble(powerTextBox.Text);
rpm = Convert.ToDouble(rpmTextBox.Text);
torque = power / rpm * 9550;
torqueTextBox.Text = Convert.ToString(torque);
}
public Form1()
{
InitializeComponent();
powerTextBox.Text = "0";
torqueTextBox.Text = "0";
rpmTextBox.Text = "0";
}
private void powerTextBox_TextChanged(object sender, EventArgs e)
{
if(Double.TryParse(powerTextBox.Text, out double power)
&& Double.TryParse(rpmTextBox.Text, out double rpm))
{
if(rpm != 0)
{
torque = power / rpm * 9550;
torqueTextBox.Text = Convert.ToString(torque);
}
}
else
{
//Handle invalid inputs
torqueTextBox.Text = "Wrong power or rpm";
}
}