这个表单有一个NotifyIcon对象。当用户点击关闭按钮时,我想让表单不关闭而是变得不可见。然后,如果用户想再次看到表单,可以在系统托盘中双击图标。如果用户想关闭表单,可以右键单击图标并选择“关闭”。
请问有人能告诉我如何使关闭按钮不关闭表单而是使其不可见吗?
(或者如果有更好的方法来实现相同的目标,请随便提出)
请问有人能告诉我如何使关闭按钮不关闭表单而是使其不可见吗?
(或者如果有更好的方法来实现相同的目标,请随便提出)
.FormClosing
事件(或通过重写OnFormClosing方法)。通过将e.Cancel
设置为true来取消关闭操作。NotifyIcon
将图标添加到系统托盘中。.Hide()
隐藏窗体。protected override void OnFormClosing(FormClosingEventArgs e) {
if (IActuallyWantToCloseFlag)
return;
var ni = new NotifyIcon(this.components)
{
Icon = someIcon,
Text = "My text",
Visible = true
};
ni.DoubleClick += (sender, args) => { this.Show(); };
this.Hide();
e.Cancel = true;
}
这应该可以帮助你入门。你可能希望将ni
设置为成员变量,这样你就可以在显示/隐藏表单时继续隐藏/显示图标。
要实现您想要的最简单的方法是订阅FormClosing事件并设置visible为false,代码示例:
FormClosing += (sender, args) => { args.Cancel = true; Visible = false; };