日期:2014-05-20  浏览次数:20956 次

winform隐藏显示及变量数值保存
问题:
有如下
public   class   Form1   :   System.Windows.Forms.Form
{
private   Label   sendCount;
                                      //发送条数计数
private   static   int   iSendCount;

a()//某一个函数对条数计数
{
。。。//一些操作
                  iSendCount   +=   1; this.sendCount.Text   =   iSendCount.ToString();
}
//关闭按钮(点窗体上的关闭按钮)
private   void   form1_Closing(object   sender,   CancelEventArgs   e)
{

this.Visible   =   false;
tuopan   TP   =   new   tuopan();//这是一个托盘类,产生一个托盘
}

}


在托盘类里

//双击(//显示程序窗体)
public   void   doubleClick(object   sender   ,   System.EventArgs   e)
{
TrayIcon.Visible   =   false;

Form1   FDispaly   =   new   Form1();
FDispaly.Visible   =   true;
}

这样,可以实现显示主窗体form1的显示,但iSendCount又变成0了,我要让iSendCount是多少就多少不改变怎么实现。

很多人都说在托盘类里用form1.Visible   =   true   (我怎么没这个属性呢??)
而且在别的窗体或类里form1.后面(实例化form1的对象里面也没有)没有iSendCount等,为什么呢??

请各位大哥大姐教教我吧。请不要再不负责任的说一句:简单,form1.Visible   =   true就行了。如果这么简单我也不用这么烦了。最好能自己试过了,不要凭想象



------解决方案--------------------
应该是Form1,在Cloing的时候不要关闭,
private void form1_Closing(object sender, CancelEventArgs e)
{

this.Visible = false;
tuopan TP = new tuopan();//这是一个托盘类,产生一个托盘
//加一个这个试试看
e.Cancel = true;
}
在托盘里在把Form1.Visible = true, 显示出来。。。
------解决方案--------------------
把form作参数传到托盘里。。。
------解决方案--------------------
全局类
------解决方案--------------------
我也帮顶了,可以把托盘做成一个函数而不是一个类。放在现实的那个form下,这样就可以使用this.visible这个属性了
------解决方案--------------------
/// <summary>
/// 显示隐藏窗口
/// </summary>
/// <param name= "showWindow "> </param>
private void ShowHideWindow(bool showWindow)
{
if(showWindow == true)//显示
{
if(this.ShowInTaskbar==false)
{
this.ShowInTaskbar = true;
this.Visible = true;
//this.Show();
}
if(this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
}
this.Activate();
}
else//隐藏
{
if(this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
}
if(this.ShowInTaskbar == true)
{
this.ShowInTaskbar = false;
this.Visible = false;
//this.Hide();

}
}
}


变量可以使用静态类来保存。
------解决方案--------------------
已经发到你的短消息里面了
------解决方案--------------------
哈哈