我有一个表单,其中当用户单击 Close(X)按钮时,我禁止用户关闭它。是否可以在单击 Close(X)按钮时显示工具提示?我想这样做是为了通知用户为什么表单不会关闭。
我想到了一个消息框,但后来我觉得每次点击 Close(X)按钮关闭消息框都会太烦人。
是否有更好的方式来通知用户,而不是我正在尝试做的事情?
编辑:
这是我的FormClosing事件的代码
private void InputForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
if (!mCloseReason)
{
e.Cancel = false;
}
}
}
我有一个方法可以保存表单中的输入。一旦该方法完成,我需要自动关闭表单。一旦我调用 this.Close(), if-statement 将 true ,这意味着我无法关闭表单。这就是为什么我使用一个名为 mCloseReason 的变量来自动关闭表单的原因。现在,这就是为什么我在询问是否可以在单击 Close(X)按钮后通过工具提示通知用户。
答案 0 :(得分:1)
我相信关闭(X)按钮的默认工具提示在没有一些黑客攻击的情况下是不可编辑的(并且它不实用)。
也许您可以做的是在表单下方有一个状态字段,因此当用户单击关闭按钮时,它会在状态字段中显示“无法关闭表单(...)”
或者另一个想法是在表单上的某处弹出一条消息,然后稍微离开,表示表单无法关闭。
Roger提到了另一个好主意...只是在表单上的某个地方有一个关闭按钮,其中有一个工具提示编码,并隐藏表单的标题栏?