C#如何通过双击托盘图标启用表单

时间:2010-01-11 10:45:56

标签: c# system-tray

我想将表单默认为不可见。当用户双击托盘图标时,应该可以看到显示数据库中的数据。我如何在C#中做这样的事情。 我制作了系统托盘图标但是当我运行一个项目时,它还会显示我的表单,其中包含空白值。 提前致谢。

  

我的托盘图标在同一表格上。

2 个答案:

答案 0 :(得分:2)

修改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);
}

答案 1 :(得分:0)

我假设您使用的是WindowsForms并使用NotifyIcon类创建了托盘图标。在设计器中将表单Visible属性设置为False。这将导致表单以隐藏方式启动。

然后在您的托盘图标中单击og DoubleClick事件处理程序将您的表单Visible属性设置为True以显示它。或者,您可以在此处创建表单类的新实例并显示。