DevExpress是非常主流的.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;
//DX按钮
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上且不在封闭按钮内
          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);
                }
            }
        }

转载于:https://www.cnblogs.com/51net/archive/2012/06/25/2560768.html

总结DevExpress10个使用技巧相关推荐

  1. keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧

    Keyshot是一个特别神奇的应用软件,但是,就像Photoshop一样,如果你不知道怎么使用它,那么再优秀的工具在你手中也什么都是了.这里我就告诉你一些制作优秀效果图的技巧以及如何使用这个神奇软件. ...

  2. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧

    1. 检查 vim 软件包 1.1 CentOS 发行版 $ alias vi alias vi='vim' $ $ which vim /usr/bin/vim $ $ ls -l /usr/bin ...

  3. Python 笔试面试及常用技巧 (1)

    1. 交换两个数字 In [66]: x, y = 1, 2In [67]: x Out[67]: 1In [68]: y Out[68]: 2 赋值的右侧形成了一个新的元组,左侧立即解析(unpac ...

  4. Redis 使用技巧

    Redis 现在非常受欢迎,似乎已经成为内存数据存储行业的标准.本人结合平时使用Redis经验,也同时查找了一些网上别人的总结经验,总结以下几条Redis使用技巧. 1. 停止使用 KEYS 众所周知 ...

  5. 受用一生的高效 PyCharm 使用技巧(六)

    http://www.sohu.com/a/329854019_654419 大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从第一篇开始,一直到本篇,一共更新了6篇文章,每篇 5 个小技 ...

  6. 受用一生的高效 PyCharm 使用技巧(四)

    https://blog.csdn.net/pdcfighting/article/details/93269028 大家好,距离最近一篇 PyCharm 使用技巧的文章已经过去一月有余,最近虽然也比 ...

  7. 受用一生的高效 PyCharm 使用技巧(二)pycharm 指定参数运行文件

    https://mp.weixin.qq.com/s/Ii0-qHUXayTPb-K-17hmQQ 在介绍技巧之前,有些话想声明一下,这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果 ...

  8. 受用一生的高效 PyCharm 使用技巧(一)

    声明:本文章转自 返回主页Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. https://www.cnb ...

  9. PyCharm 使用技巧

    PyCharm 使用技巧 2018.12.15 00:26:36 字数 1034 阅读 290 JetBrains家的IDE很多技巧是通用的,说一些自己日常用得多但不一定仅限于PyCharm的技巧: ...

最新文章

  1. SAP MM MRP运行后触发的PR单据里没有Assign采购组织?
  2. Android adb你真的会用吗?
  3. 总结Linux-ubuntu基本配置方法(远程连接,数据库,jdk,tomcat......)
  4. 【图像处理】一种低光照图像的亮度提升方法(Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images)
  5. 暴风集团:9月21日起公司股票交易进入退市整理期
  6. php获取表单ip,PHP获取用户IP代码实现
  7. hibernate的数据关联映射
  8. 索尼机器狗Aibo将在美国开售,智能撒娇是最甜的 |每只性格都不同
  9. php缓存静态化设计,PHP使用OB缓存实现静态化功能示例
  10. LNMP环境下搭建wordpress
  11. win32-字体名称中文名和英文名的对照-c++
  12. 没有卑微的工作,只有卑微的工作态度
  13. maven报错one of its dependencies could not be resolved
  14. bpython3 推送_【python 3】 列表方法操作汇总
  15. 2019专业创业赛事活动平台
  16. 声纹识别之I-Vector
  17. 学3Dmax有前途吗? 3Dmax有哪些就业方向?
  18. 转:管理者既要疏通水管,又要写诗歌
  19. Redis知识点整理
  20. Linux下的CreateEvent WaitForSingleObject

热门文章

  1. GJM : Unity3D HIAR -【 快速入门 】 三、导入 SDK
  2. Pacman主题下给Hexo增加简历类型
  3. EasyUI 在aspx页面显示高度不正常解决办法
  4. JQ基础练习---图片划过变暗
  5. CERL 2.0 预告:Erlang Style Concurrency + 状态机
  6. spgridview的过滤功能回调时发生错误~
  7. 实战 IE8 开发人员工具
  8. 在ASP.NET中自动给URL地址加上超链接(好东东)
  9. oracle 执行计划 ppt,oracle查看执行计划的方法
  10. java mysql show status_Java 能不能执行mysql 中的show master status 命令