【发布时间】:2010-01-11 10:45:55
【问题描述】:
我想让表单默认为不可见。当用户双击托盘图标时,应该可以看到显示数据库中的数据。我如何在 C# 中做这样的事情。 我制作了系统托盘图标,但是当我运行一个项目时,它也会显示我的表单带有空白值。 提前致谢。
我的托盘图标在同一个表单上。
【问题讨论】:
-
您使用的是 WinForms 还是 WPF?
标签: c# system-tray
我想让表单默认为不可见。当用户双击托盘图标时,应该可以看到显示数据库中的数据。我如何在 C# 中做这样的事情。 我制作了系统托盘图标,但是当我运行一个项目时,它也会显示我的表单带有空白值。 提前致谢。
我的托盘图标在同一个表单上。
【问题讨论】:
标签: c# system-tray
修改 Visible 属性不起作用,Application 类强制它打开,以便表单正确初始化自身。但是,您可以覆盖 SetVisibleCore() 以自定义行为。将此代码粘贴到您的表单中:
bool mLoaded;
protected override void SetVisibleCore(bool value) {
if (value && !mLoaded) {
this.CreateHandle(); // Ensure the Load event runs
value = false; // Keep invisible
mLoaded = true;
}
base.SetVisibleCore(value);
}
【讨论】:
我假设您使用的是 WindowsForms 并使用 NotifyIcon 类创建了托盘图标。在设计器中将表单 Visible 属性设置为 False。这将导致表单以隐藏状态启动。
然后在您的 Tray Icons Click og DoubleClick 事件处理程序中将您的表单 Visible 属性设置为 True 以显示它。或者,您可以在此处创建表单类的新实例并显示它。
【讨论】: