0 c# string double textbox winforms
我希望有一个人可以帮助我.
我在C#中做了一个Windows窗体,我有一些TextBox的问题.我是编程新手.
///variables
double n, x, i = 15.0, act = 25.0, f, z;
string ac;
int n2, pos, f2;
///Form1 Load
private void Form1_Load(object sender, EventArgs e)
{
///This allow to have decimal with the initial value of 25.0
textBox2.Text = string.Format("{0:0.0}", act);
}
Run Code Online (Sandbox Code Playgroud)
和
///TextBox2
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text != null )
{
ac = Convert.ToString(textBox2.Text);
z = double.Parse(textBox2.Text);
if (z >= 0.0 && z <= 30.0)
{
///Operations
f = 30.0 - z;
f2 = (int)f * 5;
this.pictureBox4.Size = new System.Drawing.Size(25, f2);
}
if (textBox2.Text == "")
{
///Operations
z = 0.0;
textBox2.Text = "0,0";
this.pictureBox4.Size = new System.Drawing.Size(25, 150);
///Message that say value is not between 0.0 and 30.0
MessageBox.Show("Enter values between 0.0 y 30.0", "Value out of range", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Run Code Online (Sandbox Code Playgroud)
我想在textBox2中输入一个小数值.但是当我按下返回键25.0时,它返回此错误:mscorlib.dll中出现未处理的类型'System.FormatException'异常附加信息:输入字符串的格式不正确.我想修复这个错误,并且它是空的,用键盘输入值,这个值将介于0.0和30.0之间,如果textBox2上的值超出范围,它应该显示一个值不在0.0和30.0之间的消息.请输入一个值是此范围.
我也有这个
private void textBox2_MouseUp(object sender, MouseEventArgs e)
{
MessageBox.Show("Enter values between 0.0 and 30.0");
}
Run Code Online (Sandbox Code Playgroud)
当我用鼠标按下textBox2时,这个代码显示了这条消息.
代码操作用于移动和更改两个PictureBox的大小.
更改PictureBox的大小工作正常,我认为十进制值工作正常我输入0.0到30.0之间的值,它的工作原理,问题是它是空值和负数.
谢谢您的帮助
也许你想要使用类似的东西:
if(!double.TryParse(textBox2.Text, out z))
MessageBox.Show("The value cannot be parsed");
Run Code Online (Sandbox Code Playgroud)