DevExpress问题积累:DocumentManager问题
2015-10-15 20:40
429 查看
DevExpress 版本:14.2
目的:创建可拖拽的控件浏览视图
过程:
1、创建DocumentManager控件:DevExpress.XtraBars.Docking2010.DocumentManager DmUvw;
2、创建在DocumentManager控件中加入WidgetView:DevExpress.XtraBars.Docking2010.Views.Widget.WidgetView widgetView1;
3、通过代码动态添加Document
事件:其中UcTemp是自定义控件
4、通过代码删除Document
问题:通过代码删除Document经常出现问题,删除之后界面未刷新,例如加载5个Document。逐一进行删除,偶尔出现一、两个Document实际已删除,但界面显示未删除的问题。
解决办法:多次试验,最终偶发发现解决办法。
1、在widgetView1中增加StackGroup:DevExpress.XtraBars.Docking2010.Views.Widget.StackGroup stackGroup1;
2、增加时将每个Document放入stackGroup1。
目的:创建可拖拽的控件浏览视图
过程:
1、创建DocumentManager控件:DevExpress.XtraBars.Docking2010.DocumentManager DmUvw;
2、创建在DocumentManager控件中加入WidgetView:DevExpress.XtraBars.Docking2010.Views.Widget.WidgetView widgetView1;
3、通过代码动态添加Document
/// <summary> /// 添加Document /// </summary> /// <param name="doName"></param> public void AddDocument(string doName) { Document bd = new Document(); bd.Caption = doName; DmUvw.View.Documents.Add(bd); }
事件:其中UcTemp是自定义控件
DmUvw.View.QueryControl += View_QueryControl; private void View_QueryControl(object sender, QueryControlEventArgs e) { string tempVmeName = e.Document.Caption; UcTemp ucTemp = new UcTemp(tempVmeName); e.Control = ucTemp; }
4、通过代码删除Document
/// <summary> /// 删除Document /// </summary> /// <param name="doName"></param> public void DeleteDocument(string doName) { foreach (BaseDocument bd in DmUvw.View.Documents) { if (bd.Caption == doName) { DmUvw.View.Documents.Remove(bd); return; } } }
问题:通过代码删除Document经常出现问题,删除之后界面未刷新,例如加载5个Document。逐一进行删除,偶尔出现一、两个Document实际已删除,但界面显示未删除的问题。
解决办法:多次试验,最终偶发发现解决办法。
1、在widgetView1中增加StackGroup:DevExpress.XtraBars.Docking2010.Views.Widget.StackGroup stackGroup1;
2、增加时将每个Document放入stackGroup1。
/// <summary> /// 添加Document /// </summary> /// <param name="doName"></param> public void AddDocument(string doName) { Document bd = new Document(); bd.Caption = doName; DmUvw.View.Documents.Add(bd); stackGroup1.Items.Add(bd); }
相关文章推荐
- hdu 3681 Prison Break bfs + 二分 + TSP
- 第四周--项目3单链表的应用(1)
- 转:C#中base关键字的几种用法
- basicAnimation移动图形
- android 判断网络连接的工具类
- 4000 函数学习
- 随手记, C回车换行,0x0d 0x0a,WINDOWS下fgetc()一次读入,即\n,LINUX下fgetc()需要分两次读入0x0d, 0x0a
- 黑马程序员——Java基础---面向对象(封装、继承、多态)
- 软件工程控制经验总结系列之一 - 软件工程控制总论
- 深入理解数据库磁盘存储(Disk Storage)
- Bellman-Ford||SPFA-POJ-2240-Arbitrage
- 程序员装逼指南
- IOS网络笔记--ASIHTTP类库的使用(上传和下载)
- Android 设计模式 之 观察者模式详解
- 1213 How Many Tables(简单并查集)
- XML Parser
- 面向对象2(3)
- 使用sqlyog学习mysql中怎样创建用户、数据库、表
- [移动运营必备]APP运营工具大全
- gem常用命令