欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理 WinFormdevexpressc#.net 6.0 

程序员文章站 2022-06-02 10:30:42
...

在基于DevExpress的多文档窗口界面中,我们一般使用XtraTabbedMdiManager来管理多文档窗口的一些特性,如顶部菜单,页面的关闭按钮处理,以及一些特殊的设置,本篇随笔介绍这些特点,并着重介绍它的几个属性设置,使得在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理。

一、Winform框架的多文档界面效果

多文档界面有其非常好的窗口内容管理便利,现在很多BS的窗口,都讲究多窗口话,主要就是为了方便不同内容的展示及参考处理。在Winform的DevExpress界面中,我们使用了DevExpress控件XtraTabbedMdiManager的特点,使得管理多文档界面更加方便。

XTraTabbedMdiManager控件这个控件可以实现在右边以Tab方式展现多文档布局,这样对用户操作来说,可以一次性打开多个窗体进行操作,方便很多,也必将美观,是一种常见的布局展现。为了在窗体激活的时候,在顶部显示关闭按钮,其他的不显示,那么需要设置XTraTabbedMdiManager控件的ClosePageButtonShowMode = InActiveTabPageHeader 即可实现了。

我们先来看看Winform开发框架中的多文档界面效果:

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 
WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 
WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

这些都是基于多文档界面的展示,可以有效的整理相关的内容划分,并很好的实现窗口的管理。

二、多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理

多文档窗口的拖入拖出的界面效果如下所示。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 
WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

这些设置处理起来其实很容易,只需要设置好xtraTabbedMdiManager对象即可。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

只需要在xtraTabbedMdiManager1属性中设置FloatOnDoubleClick和FloatOnDrag为True,并且设置FloatPageDragMode为FullWindow即可,如下界面设置所示。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

而如果需要让顶部可关闭窗口的按钮出现在活动选项卡窗口上,只需要设置ClosePageButtonShowMode为InActiveTabPageHeader即可,如下界面所示。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

另外可以设置多文档的选项卡右键菜单,增加一些关闭窗口的操作,如下所示。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

那么添加一个popupmenu对象,让设置好菜单选项及事件处理,如下所示:

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

并指定它的Ribbon对象即可。

WinForm框架开发教程 - 多文档界面中的子窗口弹出、拖拽处理
            
    
    
        WinFormdevexpressc#.net 6.0 

利用xtraTabbedMdiManager组件,可以为我们实现丰富的界面布局展现,当然,要设计好一个系统界面,除了考虑界面的布局美观性、还要考虑图标的协调性、还有就是整体的框架,要可以比较好的适应这些布局控件的操作。

以上知识点,希望对大家在开发Winform界面效果上有所参考。

DevExpress | 下载试用

DevExpress Universal 10月正式发布今年第二个重大版本——v21.2,此版本正式官宣支持Visual Studio 2022 & .NET6,同时与微软最新发布的Windows 11完美兼容,全面解决用户各种使用场景问题。 与时俱进,从未止步!DevExpress 2021最新版本v21.2已正式发布,慧都独家抢先解析最新功能、新控件预览与应用,带您解锁2021最强UI控件,助您构建出色的应用程序! 立即报名>>

本文转载自:博客园 - 伍华聪


DevExpress技术交流群5:742234706      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取