以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  使用三个按钮的对话框的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42608)

--  作者:zpx_2012
--  发布时间:2013/11/16 23:13:00
--  使用三个按钮的对话框的问题
想使用有三个按钮的对话框,当用户选择取消时则返回,重新回到界面


图片点击可在新窗口打开查看此主题相关图片如下:dialoge.jpg
图片点击可在新窗口打开查看

上面的三个按钮,每次点击后对话框又会再重新出现,要第二次再点击才会彻底关闭,为什么?

谢谢! 



--  作者:sloyy
--  发布时间:2013/11/16 23:29:00
--  

不上代码哪里看得出错在哪里


--  作者:zpx_2012
--  发布时间:2013/11/17 11:59:00
--  
谢谢!这个和代码没关系吧,用 MessageBoxButtons.YesNo 两个按钮时都没问题,代码如下:
If MessageBox.Show("当前表单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Yes Then
    DataTables("入库单").Save()
ElseIf MessageBox.Show("当前表单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Cancel Then
    Return
Else
    DataTables("入库单").RejectChanges() \'取消改变
End If

选择对话框的取消按钮后又弹出一次,第二次取消才可以。

--  作者:逛逛
--  发布时间:2013/11/17 12:02:00
--  

因为你发了两个对话框


--  作者:逛逛
--  发布时间:2013/11/17 12:08:00
--  
dim a = MessageBox.Show("当前表单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
If a = DialogResult.Yes Then
    DataTables("入库单").Save()
ElseIf a = DialogResult.Cancel Then
    Return
Else
    DataTables("入库单").RejectChanges() \'取消改变
End If

--  作者:zpx_2012
--  发布时间:2013/11/17 12:49:00
--  
谢谢逛逛,改了还是一样,可能是前面用了for each 遍历的原因,按理也不应该,总之就是出现了两次。
--  作者:有点甜
--  发布时间:2013/11/17 20:11:00
--  
 例子说明下问题。
--  作者:rjh4078
--  发布时间:2013/11/17 20:52:00
--  

应该是其他地方的事件代码重新触发了这个事件代码  最好上例子