读书人

(50分).如何实现在一个FORM中控制另一

发布时间: 2012-01-03 22:16:06 作者: rapoo

(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了
}

读书人网 >C#

热点推荐