(50分)高手请进.怎么实现在一个FORM中控制另一个FORM的控件,比如TIMER控件?
(50分)怎么实现在一个FORM中控制另一个FORM的控件,比如TIMER控件?
如下代码不行:
// Form1 frm11=new Form1 ();
frm11.timer.enable=true;
------解决方案--------------------子窗口要控制主窗口的空间的话,重写子窗口构造函数,把主窗口传递过去
------解决方案--------------------多窗体传值问题
http://blog.csdn.net/zxliujason/archive/2007/08/04/1725645.aspx
------解决方案--------------------see:
http://topic.csdn.net/t/20041027/19/3497195.html
form1:
public TextBox txtTest;
button1_Click()
{
Form2 frm2=new Form2(this);
frm2.Show();
}
-------------------
form2:
private Form1 frm1;
public Form2(Form1 frm) //构造函数
{
frm1=frm;
}
button1_Click()
{
//改变Form1.txtTest.Text
frm1.txtTest.Text= "ok ";
}
------解决方案--------------------举个例子
比如说用委托
那就在Form2中你需要操作timer的地方触发一个事件
在Form1中监视这个事件
public delegate void ProcessTimer();
public event ProcessTimer TimerEvent;
在Form2中
if (TimerEvent != null)
{
TimerEvent();
}
在Form1中
Form2 f = new Form2();
f.TimerEvent += new ProcessTimer(processTimer);
f.ShowDialog();
private void processTimer()
{
//这里就可以操作Timer了
}