zoukankan      html  css  js  c++  java
  • DevExpress 控件使用技巧

    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;
    //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);
    }
    }
    }
  • 相关阅读:
    打包.a 文件时, build phases- Link Binary With Libraries
    Undefined symbols for architecture i386: "_deflate", referenced from:
    iOS 9 failed for URL: "XXX://@"
    ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
    ASP.NET中利用DataList实现图片无缝滚动
    老码农教你在 StackOverflow 上谈笑风生
    ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
    Asp.net面试题
    Asp.Net之后台加载JS和CSS
    .net环境下从PDF文档中抽取Text文本的一些方法汇总
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7291067.html
Copyright © 2011-2022 走看看