bool 百度过了 = true;
bool goole过了 = true;
bool bing过了 = false;
public void askEveryOne(){
    this.Hide();
    MessageBox.Show("为什么刚才隐藏的时候闪了一下?就是说在执行Hide之前程序已经自动Show出来了是吗?我试了不下15篇文章的方案去解决但还是没有一个最终成功的,可能我试的方法不太对,请问大家有什么解决经验吗?需求是类似360那些东西,开机时显示托盘图标,不显示窗口,但如果用户双击运行的就要显示窗口");
}public Form1()
{
    InitializeComponent();
}private void Form1_Load(object sender, EventArgs e)
{
    this.BeginInvoke(new System.Threading.ThreadStart(this.askEveryOne));
}

解决方案 »

  1.   

    在Form1()构造函数里面设置Visible=false
      

  2.   


            public Form1()
            {
                this.Visible = false;
                InitializeComponent();
                this.Visible = false;
            }
    依然不行,放前放后都不行,难道是我的编译器问题?
      

  3.   

    設計的時候就把Visible設置為false呢?
      

  4.   

    试了一下的确会闪,而且直接在构造函数中设置
    this.Visible = false;
    this.Hide();
    都不管用,楼主在Load()函数中使用代理开个异步线程的做法到是新奇。
    如果想实现打开程序却不显示窗体,我试了一下下面的方法是可以的:
    1、在InitializeComponent()函数中设置:
    this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
    2、在InitializeComponent()函数中设置:
    this.Opacity = 0D;
    希望帮到你。
      

  5.   

    最小化了比较好,构造函数中写
    WindowState = FormWindowState.Minimized;
    Load中写
    Visible = false;
      

  6.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    //----此句为打开程序时不显示主窗体(使用启动时窗口可见状态[最小化])
    this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
    //----不在任务栏显示
    this.ShowInTaskbar = false;
    }
      

  7.   

    我找到了一个解决方法:
    1、把启动窗体写成一个函数,暂且称之为启动函数;
    private void InitializeStartup()
    {
        //你的代码
    }
    2、先初始化主窗体,然后在主窗体的LOAD事件中开始位置加入代码
    //----不在任务栏显示
    this.ShowInTaskbar = false;
    //----运行启动函数
    InitializeStartup();
    3、主窗体加载完毕,关闭启动窗体,恢复主窗体正常状态
    //关闭启动窗体
    启动窗体.Close();
    //显示主窗体
    this.WindowState = FormWindowState.Maximized;