博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevExpress 控件使用技巧
阅读量:6964 次
发布时间:2019-06-27

本文共 3996 字,大约阅读时间需要 13 分钟。

是非常主流的.NET控件,眼下全世界和中国都用非常多用户使用,只是因为是英文版,初次接触的同学可能会认为困难。这里就总结DevExpress常见的10个使用技巧。
1.TextEditor(barEditItem)取文本 
string editValue = barEditItem1.EditValue.ToString();    //错误,返回null
string editValue = ((DevExpress.XtraEditors.TextEdit)barEditItem).EditValue.ToString();    //精确,返回文本框内容 DevExpress使用技巧
2.ComboBoxEdit(barEditItem)加入Item 
string item = "comboboxItem1";
((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)this.barEditItem.Edit).Items.Add(item);
3.ComboBoxEdit(barEditItem)取文本 
string itemValue = this.barEditItem.EditValue.ToString();
4.Ribbon控件 
//加入Page
DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage = new RibbonPage();
ribbonControl.Pages.Add(ribbonPage);
//加入Group
DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup = new RibbonPageGroup();
ribbonPage.Groups.Add(ribbonPageGroup);
//加入Button
DevExpress.XtraBars.BarButtonItem barButtonItem = new BarButtonItem();
ribbonPageGroup.ItemLinks.Add(barButtonItem);
//加入barSubItem
DevExpress.XtraBars.BarSubItem barSubItem = new BarSubItem();
ribbonPageGroup.ItemLinks.Add(barSubItem);
//barSubItem下加入Button
barSubItem.AddItem(barButtonItem);
//神秘的删除Page问题( DevExpress使用技巧)
while (this.ribbonControl.Pages.Count > 0)
{
ribbonControl.Pages.Remove(ribbonControl.Pages[0]);    //调试正常。运转报异常
}
while (this.ribbonControl.Pages.Count > 0)
{
ribbonControl.SelectedPage = ribbonControl.Pages[0];
ribbonControl.Pages.Remove(ribbonControl.SelectedPage); //运转正常
}
//遏止F10键Tips (DevExpress使用技巧)
ribbonControl.Manager.UseF10KeyForMenu = false;
//DXbutton
ApplicationIcon属性修改图标
右键 Add ApplicationMenu 加入evExpress.XtraBars.Ribbon.ApplicationMenu5.HitInfo 
//在Tab页上点击右键的工作响应(DevExpress使用技巧)
void xtraTabbedMdiManager_Event(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && ActiveMdiChild != null)
{
DevExpress.XtraTab.ViewInfo.BaseTabHitInfo hInfo = xtraTabbedMdiManager.CalcHitInfo(e.Location);
//右键点击位置:在Page上且不在封闭button内
if (hInfo.IsValid && hInfo.Page != null && !hInfo.InPageCloseButton)
{
this.popupMenu.ShowPopup(Control.MousePosition);//在鼠标位置弹出,而不是e.Location
}
}
}
//在ribbon上点击右键的工作响应
private void ribbonControl1_ShowCustomizationMenu(object sender, RibbonCustomizationMenuEventArgs e)
{
//禁掉原系统右键菜单
e.ShowCustomizationMenu = false;
//右键位置:在barButtonItem上
if (e.HitInfo != null 
&& e.HitInfo.InItem
&& e.HitInfo.Item.Item is BarButtonItem)
{
this.popupMenu.ShowPopup(Control.MousePosition);
}
//右键位置:在barSubItem中的barButtonItem上
else if (e.Link != null 
&& e.Link.Item != null 
&& e.Link.Item is BarButtonItem)
{
this.popupMenu.ShowPopup(Control.MousePosition);
}
}
6.皮肤 
//加入皮肤轨范集后注冊皮肤( DevExpress使用技巧)
DevExpress.UserSkins.OfficeSkins.Register();
DevExpress.UserSkins.BonusSkins.Register();
//设置皮肤
DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Liquid Sky");    //若皮肤称号错误则按系统默许设置(第一个皮肤)
//GalleryFilterMenuPopup工作设置弹出选择菜单的“All Groups”为中文
private void rgbiSkins_GalleryFilterMenuPopup(object sender, GalleryFilterMenuEventArgs e)
{
e.FilterMenu.ItemLinks[n].Caption = "一切皮肤";    //n=分组数+1
}
//GalleryInitDropDownGallery工作设置弹出皮肤列表的表头“ALL Groups”为中文
private void rgbiSkins_GalleryInitDropDownGallery(object sender, InplaceGalleryEventArgs e)
{
e.PopupGallery.FilterCaption = "一切皮肤";
}
7.dockManager 
将视图的状况信息保管到xml文件
dockManager1.SaveLayoutToXml("..\\UserConfig\\ViewInfo.xml");
导出xml中保管的状况信息
dockManager1.RestoreLayoutFromXml("..\\UserConfig\\ViewInfo.xml");
8.barManager 
设置bar的字体与系统字体
barAndDockingController1.AppearancesBar.ItemsFont = new Font(this.Font.FontFamily, currentFontSize);
9.设置系统字体 
DevExpress.Utils.AppearanceObject.DefaultFont = new Font(this.Font.FontFamily, currentFontSize);
10.treeView 
为tree节点加右键菜单并选中该节点
private void treeList1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
DevExpress.XtraTreeList.TreeListHitInfo hi = treeList1.CalcHitInfo(e.Location);
if (hi.Node != null && hi.Node.ImageIndex == 5) //叶子节点的ImageIndex == 5
{
TreeListNode node = treeList1.FindNodeByID(hi.Node.Id);
treeList1.FocusedNode = node;
this.popupMenu1.ShowPopup(MousePosition);
}
}
}

转载地址:http://vywsl.baihongyu.com/

你可能感兴趣的文章
瑞银集团:金融科技服务在这一领域最具威胁
查看>>
加拿大可再生能源发电已达66%的比例
查看>>
天合光能组件出货引领印度太阳能市场 2016年市场份额达25.7%
查看>>
再战“6.18”销售额榜首,韩都衣舍究竟“凭什么!”
查看>>
看看淘宝的工程师如何评论12306
查看>>
Linux之:最常用的20条命令
查看>>
收藏|Java程序员必看的几本基础书籍和常用工具
查看>>
基于Docker快速搭建Gitlab与Gitlab CI/CD服务
查看>>
黄秀杰教程之--Node使用小程序模板消息
查看>>
React Hooks
查看>>
关于抢购秒杀的实现思路与事例代码
查看>>
ttlsa教程系列之MySQL---mysql数据库监控
查看>>
centos安装pypy(含pypy下载地址)
查看>>
spring 的那些 processors
查看>>
使用kickstart服务全自动安装RHEL7.0系统
查看>>
测试防盗链
查看>>
关于无法启动Task Scheduler 服务的通用解决方案
查看>>
dns解析及安全
查看>>
详解TCP/IP协议的含义及三个参数
查看>>
***的免杀技术
查看>>