我很惊讶您的示例代码甚至可以工作。MessageBox 只能以您设置的方式返回一个值。如果您正在检查 MessageBox 的返回码,您应该将第四个参数设置为 YesNo!, YesNoCancel!
我认为无论谁这样做都不知道他们在做什么,在这个逻辑中存在零选项是毫无意义的。
你想让它成为用户可以回答的问题吗?如果是这样,请执行以下操作:
integer li_rc
li_rc = Messagebox("Confirm your intentions","Do you want to close the tab?",Question!,YesNo!,2)
if li_rc = 1 then
// user clicked YES because it is the first option of YesNo!
else
// user clicked NO because it is the second option of YesNo!
end if
仅供参考:如果用户按下回车,最后一个参数是默认按钮
窗口有 closequery 事件,它在关闭时触发,您可以在该事件中执行处理以导致窗口不关闭。我不知道选项卡是否有类似的东西,但你可以解决这个问题,然后禁止关闭。如果您只是想告诉用户一些事情,那么只需执行 MessageBox("Message Subject", "Message Body", Exclamation!) 就不需要使用 OK!这是默认的
这是一个想法:
查看选项卡控件的单击事件。那里可能有关闭选项卡的代码。您可以添加额外的逻辑来检查权限并绕过关闭逻辑。或者,如果用户无法关闭,或者可能显示不同的图片,禁用外观 X,您可以将 ShowPicture 属性设置为 false。