如何隐藏表单

时间:2009-03-05 07:08:00

标签: c#

当我按下表单内的按钮时,我想要隐藏表单。当我这样做时, 必须在任务栏中显示某些内容,如果我单击该内容,则表单将再次进入可见状态。

编辑:我不应该最小化或调整表单大小。

6 个答案:

答案 0 :(得分:6)

您有两种选择:

  1. 使用Windows窗体的标准最小化行为。在按钮单击处理程序中,将Form.WindowState属性设置为FormWindowState.Minimized,或者让用户使用标准最小化按钮。这将“隐藏”表单,但会将其按钮保留在任务栏上,用户可以单击它以使表单恢复。
  2. 编辑:根据您的问题编辑,您应该使用NotifyIcon

    1. 关闭表单并在任务栏通知区域(也称为“系统托盘”)中添加通知图标。为此,您需要将NotifyIcon组件的实例添加到表单中。然后,在按钮单击处理程序上,您将调用Form.Close来关闭表单。当用户想要退回表单时,他们会点击代表您的应用程序的syastem托盘图标,然后您将打开表单。
    2. 这是VB.NET example如何做到这一点。在C#中翻译应该不难。您还可以搜索NotifyIcon以查看更多示例。

答案 1 :(得分:2)

//this is Form object
//Option 1

this.Hide();

//Option 2

this.Visible = false;

答案 2 :(得分:1)

标准最小化按钮是否符合要求?

答案 3 :(得分:1)

按钮代码中的

        FormBorderStyle = FormBorderStyle.None;
        Width = 0;
        Height = 0;

说...激活表单事件:

        FormBorderStyle = FormBorderStyle.Fixed3D;
        Width = 800;
        Height = 500;

这种效果会适合你吗?

答案 4 :(得分:1)

正如尼尔斯所说。

Hide();
// or 
Visible = false;

NotifyIcon trayIcon;
//....
trayIcon.Visible = true;

根据表单可见性显示/隐藏trayicon。

答案 5 :(得分:0)

使用表单的属性“不透明度”。

// Hide your windows frame
form1.Opacity = 0; 

/*
 * Your actions Here
 */

// Show your windows frame
form1.Opacity = 1.0;