关于Winform程序启动时就隐藏

所属分类:[C#源码] | 发表于:2010-2-3 17:58:33 | 人气(547)

今天帮朋友做了一个隐藏工作的程序,本来是可以写成服务的,但是对这个程序还是不适合做成服务;
网上搜了一下,csdn上也有问了这个问题,有的说在load里写this.hide();其实这样是不行的。
我试了一下,用委托其实蛮好的!代码如下:

EXFCODE:
///************************开始****************************** 
private void frmMain_Load(object sender, EventArgs e) 
{ 
        System.Threading.Timer t = new System.Threading.Timer(myHide);//myHide,就是我们要委托的方法 
        t.Change(0,0);//解释一下,第一个0表示不用等待就开始执行,第二个0表示只执行一次; 
} 
delegate void SetHideCallback();//定义委托 
void SetHide() 
{ 
    if (this.InvokeRequired)//之所以要这样,是因为Windows的跨进程访问控件的安全性; 
    { 
        SetHideCallback c = new SetHideCallback(SetHide); 
        Invoke(c, new object[] { }); 
    } 
    else 
    { 
        this.Hide();//执行隐藏 
    } 
} 
void myHide(object t) 
{ 
    SetHide(); 
    ((System.Threading.Timer)t).Dispose(); 
} 
///***************结束***************

1    0