winform 中ShowDialog()的问题!
我在主窗体的一个按钮事件form2 f=new form2();
If(f.showdialog()==dialogresult.ok)
{
//进行一些操作
}
我在 form2里面 需要做数据验证 用到 messagbox.show("格式不正确!"); 按了确定之后 form2 关闭了。
我的意思 按了确定之后 form2 还在。不可以给它消失。用户还没有填好数据,好像不管怎样form2都会关闭,return也不行啊。 --------------------编程问答-------------------- messagbox.show("格式不正确!"); 按了确定之后 让返回是一个dialogresult.ok哦··你要知道·· --------------------编程问答--------------------
因为 你点击messagbox.show("格式不正确!")的确定之后,她返回的是一个 DialogResult.OK。 --------------------编程问答--------------------
唉,刚发完帖子就找到原因了,原来是因为按钮的DialogResult的属性设置为OK了,所以不管怎样只要按钮触发窗体都会关闭。 --------------------编程问答--------------------
这跟form2的返回值一点关系没有 --------------------编程问答-------------------- 与form2的返回值无关 与按钮的返回值有关 --------------------编程问答--------------------
messagbox.show("格式不正确!"); 按了确定之后 让返回是一个dialogresult.ok哦··你要知道··
因为 你点击messagbox.show("格式不正确!")的确定之后,她返回的是一个 DialogResult.OK。
这跟form2的返回值一点关系没有
我说的是 Form2的返回值嘛?我说的点击 mesbox的返回值··· --------------------编程问答-------------------- 点击MessageBox中的“确定”按钮 MessageBox.Show()会返回 form2不会关闭 除非你等MessageBox.Show返回之后 设置了 form2的 DIalogResult 等于 非DialogResult.None 的其他值 如
form2中
btn1_Click()
{
//...
MessageBox.Show("格式不正确!");
DialogResult = DialogResult.Cancel; //之后form2关闭(实质是隐藏并没有close)
} --------------------编程问答-------------------- 关闭[实质是隐藏]任何一个模式对话框 只需要 设置它的DialogResult属性为非DialogResult.None值 就行
这样一来 该模式对话框 暂时隐藏 你可以再次使用它
在一般编程中 如果只需要使用一次 一般配合using
using(Form f = new Form())
{
f.ShowDialog();
} //f使用完之后 就dispose掉 节省系统资源
//建议不要使用close方法 去关闭一个 ShowDialog()出来的模式对话框 --------------------编程问答--------------------
messagbox.show("格式不正确!"); 按了确定之后 让返回是一个dialogresult.ok哦··你要知道··
因为 你点击messagbox.show("格式不正确!")的确定之后,她返回的是一个 DialogResult.OK。
这跟form2的返回值一点关系没有
我说的是 Form2的返回值嘛?我说的点击 mesbox的返回值···
mesbox的返回值跟form2窗体关闭有什么关系? --------------------编程问答-------------------- ……长知识了……………… --------------------编程问答-------------------- 其实,我比较好奇,楼主想是想什么功能? --------------------编程问答-------------------- 我也刚遇到你这个问题,
把你的按钮 的 dialogresult 去掉 变成none
补充:.NET技术 , C#