标题:多文档控件dockpanel suite问题
只看楼主
Jones
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-4-16
结帖率:100%
已结贴  问题点数:20 回复次数:3 
多文档控件dockpanel suite问题
我用dockpanel suite 来做多文档的,在主窗口里打开窗口,是可以打开的,方法如下
UsersList childForm = new UsersList();
childForm.Show(dockPanel1);

但是我的UsersList 子窗口里还有个打按钮为添加,又会打开一个窗口,怎么打开啊?怎么能打开在多档的窗口里呢。
请各位帮帮忙!
搜索更多相关主题的帖子: 文档 
2011-04-16 02:09
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:10 
用委托和事件来实现
首先在主窗口声明一个公共委托,假设主窗口叫MainForm
 public partial class MianForm : Form
{
   public delegate void OpenFormDelegate(string formname);
}
在子窗口UsersList声明事件
public partial classUsersList : Form
{
   public event MianForm.OpenFormDelegate openformevent;
}
Main打开UsersList时实例化该事件
 public partial class MianForm : Form
{
   public delegate void OpenFormDelegate(string formname);
   private void button_click()//假设主窗口单击某按钮打开UsersList
    {
       UsersList childForm = new UsersList();
       UsersList.openformevent+=new OpenFormDelegate(delegateopenform);//
       childForm.Show(dockPanel1);
     }
    private void delegateopenform(strong formname)//OpenFormDelegate要调用的方法
    {
       switch(formname)
       {
            case "UsersList2"://打开UsersList2,假设UsersList2存在
            UsersList2 childForm2 = new UsersList();
            childForm2.Show(dockPanel1);
            break;   
            case "UsersList3":
            break;
            case "UsersList4":
            break;
            .
            .
            default:
            break;
        }
    }
}
UsersList下触发事件
public partial classUsersList : Form
{
   public event MianForm.OpenFormDelegate openformevent;
   private void button_click()//假设点击某按钮
   {
       if(openformevent!=null)//如果事件注册
       {
        openformevent("UsersList2");//委托主窗口打开名为UsersList2的窗口
       }
    }
}
主窗口与子窗口好比老板和员工,老板可以加人到公司,员工不用,但是员工可以介绍同学给老板,老板来处理



站在春哥的肩膀上
2011-04-16 09:18
小爺の霸気
Rank: 2
等 级:论坛游民
帖 子:33
专家分:80
注 册:2011-3-20
得分:10 
顶楼上。。
2011-04-17 18:42
Jones
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-4-16
得分:0 
xydddaxia
实在不好意思,我没分给你,真的谢谢,我试了可以的
2011-04-23 13:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-336862-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042673 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved