当前位置: 代码迷 >> C# >> MessageBox关闭之后如何让程序等待用户输入
  详细解决方案

MessageBox关闭之后如何让程序等待用户输入

热度:270   发布时间:2016-04-28 08:41:33.0
MessageBox关闭之后怎么让程序等待用户输入
本帖最后由 qq_29975483 于 2015-10-27 20:24:52 编辑

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;

------解决思路----------------------
引用:
起点.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;
}
  相关解决方案