WeifenLuo.WinFormsUI.Docking.DockContent 获得焦点(激活)

   

这几天在试着用WeifenLuo.WinFormsUI.Docking控件,想点击相应的按钮弹出的继承了DockContent的某个窗体,若载次点击该按钮就使已经有了的窗体获得焦点(active 激活)而不是重新初始化窗体。看下载的资料是把窗体作为父窗体的全局变量,当点击按钮是userList.Show(this.dockPanel1);就可以了。照样做来出现问题:当你关掉窗体后再点击按钮会异常:访问已经释放的资源。(下载的资料是没有这个问题的,没有研究出是因为什么)。后来想只能实例化一个类那就使用单件模式,不过那要把窗体改成单件类,要把构造方法改为私有,同步,第一有点麻烦,二这样还是解决不了问题,因为虽然一个实例的问题解决了可获得焦点的问题还是没有解决。最后只能去WeifenLuo.WinFormsUI.Docking.dockPanel的属性里找。
下面是解决的办法(应该有好点的,下载资料并不是这样做的):
先遍历this.dockPanel1.Contents看用没用你要初始化的窗体,有就让他获得焦点,没有new。代码很简单,不过找到这个还是费了力气的!!

 

代码:

            for (int i = 0; i < this.dockPanel1.Contents.Count; i++)
            {
                if (this.dockPanel1.Contents[i].GetType().ToString() == "SDRC.DataBase.Users")
                {
          

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值