C# WINFORM 如何在新窗体中关闭(停止)原窗体的时钟

在FORM1中打开FORM2,方式为:Form2fr2=newForm2();fr2.ShowDialog();然后Form1中有一个public方法publicvoid... 在FORM1中打开FORM2,方式为:
Form2 fr2 = new Form2();
fr2.ShowDialog();

然后Form1中有一个public方法
public void CloseTime()
{
timer1.Enabled = false;
}

然后我在Form2中的Load事件中调用Form1的CloseTime()
Form1中的timer1时钟还在运行。
我调试过发现有执行关闭的方法。
我该如何正确的关掉Form1上的timer1时钟?
谢谢。
timer1.Stop();
也没用,忘记说了。也试过了。

应该是思路错了,不能这么做。
但是不知道要怎么做。
展开
 我来答
WillJGL
2012-04-06 · TA获得超过118个赞
知道小有建树答主
回答量:213
采纳率:50%
帮助的人:121万
展开全部
你不会是在Form2中这样调用Form1中的方法的吧
Form1 fr1 = new Form1();
fr1.CloseTime();

方法一
1、这样打开Form2
Form2 fr2 = new Form2();
fr2.ShowDialog(this);
2、这样执行Form1中的方法
((Form1)this.Owner).CloseTime();

方法二
把Form2的构造函数加个参数,类型是Form1
创建Form2时把this传递进来
在Form2中接收一下参数存成成员变量例如Form1 _form1
用这个成员变量执行CloseTime()方法。_form1.CloseTime();
小羊说编程
2012-04-06 · 专注编程模式教学,提升大家实战经验
小羊说编程
采纳数:406 获赞数:1394

向TA提问 私信TA
展开全部
像这种问题,一般可以换一种方式做,比如在窗体2的构造器中传一个时间控件的参数,然后在这个构造器中关闭这个时间控件。当然,把窗体2Show出来的时候 new Form2(timer);以这种形式,show出来。然后在Form2的构造器中利用这个timer参数关闭这个时间控件。不知道我说清楚了没有。你可以和我私聊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦魇六月
2012-04-06 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:127万
展开全部
首先你要确定你调用的form1.CloseTime(); 这个form1是你打开form2的那个窗体
不然的话如果是你在form2中 Form1 fr1 = new Form1(); 然后fr1.CloseTime();这样肯定是没办法停掉的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghotos
2012-04-06 · TA获得超过280个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:363万
展开全部
你怎么调的CloseTime()?我不把Form1的句柄传过去调不到方法,传过去的话是可以成功的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
89801860
2012-04-06 · TA获得超过139个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:130万
展开全部
思路不正确 容我再想想
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式