读书人

winform隐藏显示及变量数值保存,该怎么

发布时间: 2012-01-26 19:40:46 作者: rapoo

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();

}
}
}


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

读书人网 >C#

热点推荐