有以下的程序段:private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Visible = true;
                this.WindowState = FormWindowState.Normal;
            }
            else
            {
                this.WindowState = FormWindowState.Minimized;
                this.OnResize(new EventArgs());
            }
        }private void frm_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Visible = false;
            }
        }private void frm_Load(object sender, EventArgs e)
{
     this.WindowState = FormWindowState.Minimized;
}我想在frm一开始Load完了说把它最小化到系统托盘, 但有个问题, 就是刚刚Load完后它是最小化了, 却在左下方留有一条标题栏(啊啊, 都不知道怎么描述了, 类似于一般的最小化但没有set this.visible=false的情况), 而我如果单击最小化按钮, 就能实现我的初衷: 最小化到托盘, 屏幕上不再留有任何跟这个frm有关的东西想知道, 为什么frm_Load事件没有把它invisible掉有什么办法能自动触发最小化按钮的事件呢?

解决方案 »

  1.   

    this.WindowState = FormWindowState.Minimized;
    this.ShowInTaskbar = false;
    notifyIcon1.Visible = true;
      

  2.   

    让窗体不在任务栏显示可以设置它的ShowInTaskbar 为False,比如:this.ShowInTaskbar=false;
      

  3.   

    err...我指屏幕上, 不是任务栏上, ShowInTaskbar已经被设成false了这里贴不了图, 算了, 我都不知道怎么描述
      

  4.   

    private void frm_Load(object sender, EventArgs e)
    {
         this.WindowState = FormWindowState.Minimized;
         this.Visible = false;//隐藏不就好了么}
      

  5.   

    试了, 隐藏不了, 因为我也不知道怎么描述遇到的状况, 大家起一个新project来测试就会知道我想问的是什么了, 屏幕左下方会出现一个标题栏的浮动栏(暂且用这个说法吧), 我并不想它出现
      

  6.   

    在窗体_Shown事件里加入
    this.Visible = false;
      

  7.   

    应该是QQ登陆框最小化时的样子,要不,你就直接在form_load里只写 隐藏的语句吧
    不要写WindowState的操作
      

  8.   

    啊? 这样很奇怪哦~~因为我后面也要将它通过NotifyIcon呼出来的
      

  9.   

    这样也很好解决,让Shown事件只运行一次

    private bool show;窗体_Load事件里写
    show=true;_shown事件里写
    if (show)
    {
        this.Visible = false;
    }
      

  10.   

    我知道你的意思,就是让程序启动的时候不显示窗口是吧。
    看下面,方法多多
    http://www.cnblogs.com/ly4cn/archive/2006/03/16/351205.html
      

  11.   

    我原来就是简单的进行处理,勉强也能用的
    private void Form1_Activated(object sender, System.EventArgs e)
    {
    this.Hide();
    this.Activated -= new System.EventHandler(this.Form1_Activated);
    }
      

  12.   

    你要窗体的构造函数里按如下的代码来写就可以了:public Form1()
    {
    InitializeComponent();
    this.WindowState = FormWindowState.Minimized;
    this.ShowInTaskbar = false;
    }
      

  13.   

    不能在Load事件里设置Visible,这个是有问题的.
      

  14.   

    这样的效果很多程序都这样的,就像evertest开机启动最小化一样,最小化到左下角。像在PS中最小化图片一样。不知道为什么,LS的方法好像可行!
      

  15.   

    你要窗体的构造函数里按如下的代码来写就可以了:public Form1()
    {
    InitializeComponent();
    this.WindowState = FormWindowState.Minimized;
    this.ShowInTaskbar = false;
    }====================================hbxtlhx(平民百姓) , 这样不行, 看来你没能明白我要的是什么效果, anyway, thx
      

  16.   

    我知道你的意思,就是让程序启动的时候不显示窗口是吧。
    看下面,方法多多
    http://www.cnblogs.com/ly4cn/archive/2006/03/16/351205.html===============================jinta2001() :
         
        其实也不完全是这样, 我的想法是, 程序一运行, 马上就最小化到系统托盘, 然后该Form界面还可以通过双击notifyIcon呼出来, 现在遇到的问题是, 我的程序在一开始运行的时候, Form并没有完全最小化到系统托盘, 而是只剩下了一条标题栏(上面还有Minimize, Maximize & Close Button)在屏幕的左下方, 注意, 并不是在任务栏上, 因为我已经把ShowInTaskbar设为false了
      

  17.   

    直接写在InitializeComponent();里
    this.WindowState = FormWindowState.Minimized;
    this.ShowInTaskbar = false;
    也就是窗口编辑器把相应的属性设好直接写代码恐怕达不到目的
      

  18.   

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