C#窗体程序如何隐藏主窗体?

时间:2022-08-30 17:59:47
该窗体程序有一个托盘图标,所用窗体是VS默认的样式。希望程序运行时只显示托盘图标,不显示主窗体,该如何设置?主窗体名称为Timer。

11 个解决方案

#1


窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分

#2


在程序主窗体的Shown事件中添加代码:  this.Hide();

#3


使用NotifyIcon 组件

#4


public partial class Timer : Form
{
    private NotifyIcon ni;

    public Timer()
    {
        InitializeComponent();

        // 实例化图标组件
        this.ni = new NotifyIcon();
        this.ni.Icon = 指定托盘区图标;
        this.ni.Visible = true;
        // 设置窗体样式
        this.WindowState = FormWindowState.Minimized;
        this.ShowInTaskbar = false;
    }

    protected override void OnShown(EventArgs e)
    {
        base.OnShown(e);
        // 设置隐藏
        this.Visible = false;
    }
}

#5


this.Hide();

#6


当前窗体.Hide()就可以啊

#7


引用 1 楼  的回复:
窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分


   static void Main()
        {
            MyMainForm = new MainForm();
            Application.Run(MyMainForm);
            MyMainForm.Hide();
        }

不起效果呀。这个窗体是VS的默认窗体,上面有最小化、最大化和关闭按钮的

#8


在窗体的构造函数里面写
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.None;

#9


引用 7 楼  的回复:
引用 1 楼 的回复:

窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分


C# code

   static void Main()
        {
            MyMainForm = new MainForm();
            Application.Run(MyMainForm)……

这是没效果的,因为根本就执行不到 MyMainForm.Hide() 这行,用4楼的方式

#10


this.hide()

#11



protected override void OnShown(EventArgs e)
        {
            base.OnShown(e);
            this.Visible = false;
        }

#1


窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分

#2


在程序主窗体的Shown事件中添加代码:  this.Hide();

#3


使用NotifyIcon 组件

#4


public partial class Timer : Form
{
    private NotifyIcon ni;

    public Timer()
    {
        InitializeComponent();

        // 实例化图标组件
        this.ni = new NotifyIcon();
        this.ni.Icon = 指定托盘区图标;
        this.ni.Visible = true;
        // 设置窗体样式
        this.WindowState = FormWindowState.Minimized;
        this.ShowInTaskbar = false;
    }

    protected override void OnShown(EventArgs e)
    {
        base.OnShown(e);
        // 设置隐藏
        this.Visible = false;
    }
}

#5


this.Hide();

#6


当前窗体.Hide()就可以啊

#7


引用 1 楼  的回复:
窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分


   static void Main()
        {
            MyMainForm = new MainForm();
            Application.Run(MyMainForm);
            MyMainForm.Hide();
        }

不起效果呀。这个窗体是VS的默认窗体,上面有最小化、最大化和关闭按钮的

#8


在窗体的构造函数里面写
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.None;

#9


引用 7 楼  的回复:
引用 1 楼 的回复:

窗体实例名.hide()

不要用Timer,和System.Threading.Timer不容易区分


C# code

   static void Main()
        {
            MyMainForm = new MainForm();
            Application.Run(MyMainForm)……

这是没效果的,因为根本就执行不到 MyMainForm.Hide() 这行,用4楼的方式

#10


this.hide()

#11



protected override void OnShown(EventArgs e)
        {
            base.OnShown(e);
            this.Visible = false;
        }