public void jiancha( out double qishi, out double zhongzhi)
{
qishi = 0;
zhongzhi = 0;
if (起点.Text.ToString() == "" || 终点.Text.ToString() == "")
{
MessageBox.Show("请输入起点");
}
if (IsNumeric(起点.Text) && IsNumeric(终点.Text))
{
MessageBox.Show("请输正确入起点,请不要输入除数字之外的字符");
}
qishi = double.Parse(起点.Text);
zhongzhi = double.Parse(终点.Text);
}
public static bool IsNumeric(string str)
{
System.Text.RegularExpressions.Regex reg1
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
return reg1.IsMatch(str);
}
其中 “起点”和“终点”都是 textbox的名称。弹出第一个MessageBox之后点击确定之后会直接判断第二个if,怎么才能在弹出第一个MessageBox,点击确定之后可以在 “起点” 这个textbox中显示光标等待用户重新输入并再次判断?
------解决思路----------------------
MessageBox.Show("请输入起点");
起点.Focus();
return;
------解决思路----------------------
public string jiancha( out double qishi, out double zhongzhi)
{
qishi = 0;
zhongzhi = 0;
if (起点.Text.ToString() == "")
{
return "请输入起点";
}
if (终点.Text.ToString() == "")
{
return "请输入终点";
}
if (IsNumeric(起点.Text))
{
return "请正确输入起点,请不要输入除数字之外的字符";
}
if (IsNumeric(终点.Text))
{
return "请正确输入终点,请不要输入除数字之外的字符";
}
qishi = double.Parse(起点.Text);
zhongzhi = double.Parse(终点.Text);
return "";
}
你在外面方法里调用的时候:
string result = jiancha(out qishi, out zhongzhi);
if(result != "")
{
MessageBox.Show(result);
if(result.IndexOf("终点") < 0)
起点.Focus();
else
终点.Focus();
return;
}