asp.net

C# winform中textbox编辑框控件中只允许输入时间的实现

2024-04-24

C# winform中textbox编辑框控件中只允许输入时间的实现

1.点击需要设置的编辑框控件右键->事件
2.找到“leave”事件,在leave事件中进行编辑框输入文本的检测
3.leave事件的实现代码:


//只允许输入时间,其他禁止输入(焦点离开控件时进行检测并提醒输入错误提示)

string szTime = "";

private void tbTime_Leave(object sender, EventArgs e)

{

    if (!System.Text.RegularExpressions.Regex.IsMatch(tbTime.Text, "^[0-2][0-9]:[0-5][0-9]$"))

    {

        DialogResult dr = MessageBox.Show("输入字符或格式有误,重新输入,如00:00?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

        if (DialogResult.Yes != dr)//不重新输入

        {

            tbTime.Text = szTime;

        }

        else//重新输入

        {

            tbTime.Text = szTime;

            tbTime.Focus();

        }

    }

}


4.在编辑格式不正确情况下,想还原编辑前的值,则需要在“Enter”事件中进行编辑前值的保存,这里定义了szTime变量,用于临时保存编辑框中的值。“Enter”实现代码如下:

private void tbTime_Enter(object sender, EventArgs e) 

 { 

     szTime = tbTime.Text;

 }