ShowDialog()的窗体如何在OK按钮前加一次验证?
有一个form 里面要添一些TextBox
调用ShowDialog()显示对话框
点击 OK的button即返回
如何在返回前加一次验证 当输入数据不正确时 取消返回?
------解决方案--------------------OK的属性不设置成DialogResult.Ok
在ok_click里处理
------解决方案--------------------private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (DialogResult == DialogResult.OK && textBox1.Text == " ")
{
MessageBox.Show( "输入错误! ");
e.Cancel = true;
}
}
------解决方案--------------------你可以设置OK的Button的DialogResult.None,然后在Button的Click代码中这样的来写:
private void btnOK_Click(object sender, EventArgs e)
{
string infoString = null
if (!checkData(out infoString))
{
MessageBox.Show(infoString);
return;
}
this.DialogResult = DialogResult.OK;//通过这里来让窗体关闭就可以了.
}
------解决方案--------------------不要设置ok按钮的dialogresult,而是在按钮事件内写代码
private void btnOK_Click(object sender, EventArgs e)
{
//检查,如果不成功则返回
if(!Check())
return;
this.DialogResult = DialogResult.OK;
}