我的界面上有一组textBox用于接收用户输入的数据(正实数),我用下面的方法来实现的。但有个问题就是每个textBox都要插入这段代码,有没有什么方法可以解决呢?
还有就是我用的是弹出消息框来提示错误输入,有没有可以直接在你输入数据的textBox旁边提示并附有警告音。private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar))
            {
                MessageBox.Show("请输入正数!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                e.Handled = true;
            }
        }

解决方案 »

  1.   

    你可以遍历窗体上的TextBox,统一处理
    可以用ToolTip实现提示
      

  2.   

    不清楚winform下有没有验证控件,占位学习!
      

  3.   

    可以把每个TextBox的事件都设置成你写的这个
      

  4.   

    如果没有验证控件 那么
    搞个警告的小图片放在textBox旁边 平时隐藏 一旦检查出出错的时候就显示出来
    pictureBox.Visalbe = true;
    pictureBox.Visalbe = false;
      

  5.   

    设置一个Label用来放错误信息,默认Visible = false,当有错误信息时字体设置为红色,Visible = true。声音可以通过代码来触发。
     MedPlayer.URL = @"。.mp3";
     MedPlayer.Ctlcontrols.play();  //播放音乐
     MedPlayer.settings.volume = 100;
      

  6.   

    textChange事件就是textBox窗体的值每变化一次 就触发一次的事件,可以结合这个事件做一个实时的警告提示(结合5L方法)
      

  7.   

    通过给位指点,弹出消息框这块解决了,重复性的调用textBox2_KeyPress()事件怎么办呢?难道真的每个textBox2都要这么加代码。
      

  8.   

    选中每个textbox控件,然后keypress的事件中选择textBox2_KeyPress就可以了
      

  9.   

    继承TextBox,重写OnKeyPress方法,里面加入你的逻辑,但是一定要记得调用base.OnKeyPress()