求助!C#窗体关闭变量无法清空的怪问题

问题描述

大家好,我碰到个怪问题。。。我有个有个窗体运行一段时间后关闭(this.close()),在下一次加载打开的后(用FORM1frm=newFORM1()),里面的变量居然没有被清空。我用过this.dispose(),GC.Collect(),甚至在窗体关闭的时候和第二次打开窗体时手动将变量赋空值都试过,都没有用,只要窗体再次打开FORMLOAD完,变量就会继承上一次关闭前的值。请各位高手帮我看看怎么解决这个问题。

解决方案

解决方案二:
代码?
解决方案三:
///<summary>///初始化任务信息///</summary>privatevoidIniData(){stringnamestr,datestr;//计划名与计划数值的字符串(从XMl中提取)namestr=xmlfrm.read("misname"+Task.Now_Mission_Num);datestr=xmlfrm.read("miscount"+Task.Now_Mission_Num);PC_PlanName_r=namestr.Split(',');PC_plan_r=datestr.Split(',');FeedNum=PC_PlanName_r.Length;Now_Feed=0;NowFeeding_IsStart=false;NowLoad_IsEnd=false;NowFeeding_IsStart=false;NowLoad_IsEnd=false;}在窗体加载的时候执行这个函数,Task.Now_Mission_Num是第几次加载这个窗体的次数,但第一次这个窗体任务执行完关闭后,第二次加载这个窗体时,执行到Now_Feed=0时我加了个断点看,一切正常,几个数组的值都是正确的,但一旦这个函数运行完,数组里面的值又变成上一次这个窗体执行时的值了。。。
解决方案四:
没有关闭及打开的代码,是不是窗体变量名写错了?

时间: 2024-11-01 15:23:50

求助!C#窗体关闭变量无法清空的怪问题的相关文章

C#父窗体监听子窗体关闭事件

问题描述 父窗体打开一个子窗体同时改变父窗体大小已经会写了,结果关闭一个子窗体后如何后面还有子窗体就不会改变父窗体大小,用foreach语句让父窗体读取当前激活的子窗体又不行,怎么改 解决方案 解决方案二:打开的时候用变量存储,解决方案三:这问题问得完全看不懂解决方案四:我有使用bool型变量判断开没开,但是我是需要在子窗体关闭事件后触发父窗体重新用foreach语句找到当前被激活(就是已经被打开的最顶层子窗体)的其余子窗体的事件,然后根据是哪个子窗体被激活调整父窗体大小,结果foreach语句

C#中屏蔽窗体关闭的消息

经常可以看到这样的程序,点了关闭按扭后程序并没有关闭,而是最小化到了系统拖盘处,就像网易泡泡,MSN之类的程序.实现这个其实很简单,捕捉窗体关闭时的消息就可以了.代码如下: protected override void WndProc(ref Message m){const int WM_SYSCOMMAND = 0x0112;const int SC_CLOSE = 0xF060;if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_C

winform-为什么ShowDialog子窗体关闭后还能访问里面的属性?

问题描述 为什么ShowDialog子窗体关闭后还能访问里面的属性? MyTest test = new MyTest(); test.ShowDialog(); test = null; MessageBox.Show("hello My name is " + test.Name); 为什么MyTest窗体关闭了,还能访问里面的属性值test.Name? 解决方案 本来就应该这样. 要不怎么获取对话框用户的输入呢? 你看系统对话框也是这样: OpenFileDialog ofn =

子窗体关闭父窗体刷新-关于子窗体关闭同时刷新父窗体的问题

问题描述 关于子窗体关闭同时刷新父窗体的问题 亲,是这样的,我现在在实习,最近在练习做一个C#连接Oracle然后对数据库进行增删改查的小程序,有一个问题,我简单说一下,就是我的父窗体有个dgv来显示数据库数据,然后有个增加数据Button点一下,出现子窗体,然后子窗体上有姓名,号码输入框,还有一个确定输入键.我想实现按一下确定输入键输入键,然后子窗体自动关闭,父窗体的dgv内容自动刷新,我百度了个方法,很管用,是这样的.//你在主窗体调用子窗体事件里面写: 子窗体f = new 子窗体();

c#窗体-C#如何实现打开第二个窗体,第一个窗体关闭。

问题描述 C#如何实现打开第二个窗体,第一个窗体关闭. 设计了两个窗体,跳转到第二个窗体时,第一个窗体自动关闭,如何实现呢? 解决方案 创建新的线程: this.Close(); new System.Threading.Thread(() => { Application.Run(new 窗体()); }).Start(); 解决方案二: 如果不创建线程的话,只能隐藏的一个窗口,不能关闭,因为第二个是有第一个产生的. 解决方案三: 如果第一个窗体不是启动窗体 就算第二个窗体是第一个产生的 也是

请教asp.net子窗体关闭后刷新父页面的UpdatePanel

问题描述 子窗体关闭后刷新父页面的UpdatePanel 解决方案 解决方案二:刷新UpdatePanel做什么?解决方案三:刷新父页面的UpdatePanel的内容解决方案四:UpdatePanel里有button么解决方案五:没有.你有什么方法.请指教解决方案六:那你就在UpdatePanel里放一个button,然后子窗体关闭的时候通过dom操作让button被点击,从而达到触发UpdatePanel刷新.解决方案七:试过了,不可以解决方案八:不可以?你怎么试的

c#- (C#中有一个公共的窗体 我需要这个公共窗体关闭后跳转到刚才把公共窗体打开的那个窗体)

问题描述 (C#中有一个公共的窗体 我需要这个公共窗体关闭后跳转到刚才把公共窗体打开的那个窗体) (C#中有一个公共的窗体 我需要这个公共窗体关闭后跳转到刚才把公共窗体打开的那个窗体) 谢谢大家了 新手求指教 在线等 解决方案 主窗口写 this.Hide(); Form2 f = new Form2(); //公共子窗体 f.ShowDialog(); this.Show();

页面关闭的时候 不执行父类的 窗体关闭事件

问题描述 父类:publicpartialclassForm_Parent:Form{publicForm_Parent(){InitializeComponent();}privatevoidForm_Parent_Load(objectsender,EventArgse){Common.openFormList.Add(this);}privatevoidForm_Parent_Closing(objectsender,CancelEventArgse){Common.openFormLis

关于 c# 句柄 窗体关闭问题

问题描述 关于 c# 句柄 窗体关闭问题 现在我已经知道了窗体的句柄 是否有系统函数 可以直接将该窗体关闭 求大神赐教 解决方案 closewindow sendmessage wm_exit 解决方案二: C#通过API获取接收数据窗体控件句柄,并向该句柄发送文本信息c#如何关闭父窗体