日期:2014-05-19  浏览次数:20849 次

c#中我在子窗口如何访问MDI父窗口的状态栏?
c#   winform中我在子窗口如何访问MDI父窗口的状态栏?  


------解决方案--------------------
参考下面的文章,
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5
------解决方案--------------------
把主窗体的类传进子窗体中
------解决方案--------------------
FormMain 中:

public void SetLabTipText(string tip)
{
this.tslabTip.Text = tip;
}

public void Button_Click(object (object sender, EventArgs e)
{
FormSub _FormSub =new FormSub(this);
_FormSub.Show();
}
FormSub 中:
private FormMain fm;

public FormSub(FormMain _fm)
{
this.fm=_fm
}

然后就可以通过 fm.SetLabTipText( "你要设置的文本 ");
------解决方案--------------------
还可以用事件来实现
在子窗体中定义一个事件:
在主窗体中调用

在事件中写改变状态栏的代码:


FrmChildren
{
///定义一个事件
public event System.EventHandler ButtonClick;

///调用
if(ButtonClick != null)
{
ButtonClick(sender,e);
}

}
FormMain
{
///使用
FrmChildren frm = new FrmChildren();
frm.ButtonClick += new System.EventHandler(button_Click);

private void button_Click(object sender, System.EventArgs e)
{
///修改状态栏
}