最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Winform框架界面中改變并存儲界面皮膚樣式的方法

 更新時間:2017年11月29日 11:01:45   作者:伍華聰  
下面小編就為大家分享一篇在Winform框架界面中改變并存儲界面皮膚樣式的方法,具有很好的參考價值,希望對大家有所幫助

在本篇介紹的Winform界面樣式改變及存儲操作中,是指基于DevExpress進(jìn)行界面樣式的變化。一般情況下,默認(rèn)我們會為客戶提供多種DevExpress的界面皮膚以供個人喜好選擇,默認(rèn)DevExpress提供40余種皮膚樣式,用戶可以根據(jù)自己的喜好,選擇較為美觀、得體的皮膚,為了方便,我們對用戶的皮膚選擇進(jìn)行記錄,并可以動態(tài)改變。

1、界面皮膚的選擇

Winform開發(fā)框架(包括混合式Winform開發(fā)框架)皮膚如下界面所示。

在皮膚集合中打開,可以看到很多界面皮膚可供選擇

上面初始化的皮膚代碼,是通過調(diào)用SkinHelper的DevExpress內(nèi)在輔助類實(shí)現(xiàn)的,通過添加一個RibbonGalleryBarItem控件對象,然后添加如下代碼實(shí)現(xiàn)的

DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGallery(rgbiSkins, true);

以及在Ribbon控件上添加一個小的皮膚下拉按鈕,如下代碼所示

this.ribbonControl.Toolbar.ItemLinks.Clear();
this.ribbonControl.Toolbar.ItemLinks.Add(rgbiSkins);

如果我們固定設(shè)置界面一種皮膚,那么調(diào)用下面的代碼直接設(shè)置即可,如下所示。

UserLookAndFeel.Default.SetSkinStyle("Office 2010 Blue");

2、界面皮膚的保存和顯示

不過,我們?nèi)绻Mつw可以隨意更改并可以存儲到配置文件中,那么我們就需要對它進(jìn)行一定的加工處理。

首先我們編寫一個設(shè)置皮膚名稱的函數(shù),如下所示。

/// <summary>
  /// 設(shè)置用戶界面的皮膚
  /// </summary>
  private void SetSkinStyle()
  {
   //從配置文件讀取SkinName的值,如無則使用標(biāo)準(zhǔn)樣式
   string skinName = config.AppConfigGet("SkinName");
   skinName = string.IsNullOrEmpty(skinName) ? "Office 2010 Blue" : skinName;

   foreach (GalleryItemGroup group in rgbiSkins.Gallery.Groups)
   {
    foreach (GalleryItem item in group.Items)
    {
     if (string.Concat(item.Tag) == skinName)
     {
      item.Checked = true;
      rgbiSkins.Gallery.MakeVisible(item);
      UserLookAndFeel.Default.SetSkinStyle(skinName);
      return;
     }
     item.Checked = false;
    }
   }
  }

這樣我們在皮膚改變后,重新讀取配置,并重新設(shè)置界面的皮膚即可。

那么我們需要實(shí)現(xiàn)RibbonGalleryBarItem控件對象的單擊事件GalleryItemClick,

如下代碼所示。

rgbiSkins.GalleryItemClick += (object sender, GalleryItemClickEventArgs e) =>
{
 config.AppConfigSet("SkinName", string.Concat(e.Item.Tag));
 SetSkinStyle();
};

這樣綜合起來就是兩個函數(shù)代碼實(shí)現(xiàn)了,如下所示

/// <summary>
  /// 初始化皮膚設(shè)置
  /// </summary>
  private void InitSkinStyle()
  {
   //初始化皮膚樣式名稱
   DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGallery(rgbiSkins, true);
   rgbiSkins.GalleryItemClick += (object sender, GalleryItemClickEventArgs e) =>
   {
    config.AppConfigSet("SkinName", string.Concat(e.Item.Tag));
    SetSkinStyle();
   };
   this.ribbonControl.Toolbar.ItemLinks.Clear();
   this.ribbonControl.Toolbar.ItemLinks.Add(rgbiSkins);
   this.ribbonControl.Minimized = true;//默認(rèn)最小化
   //UserLookAndFeel.Default.SetSkinStyle("Office 2010 Blue");
   SetSkinStyle();
  }

  /// <summary>
  /// 設(shè)置用戶界面的皮膚
  /// </summary>
  private void SetSkinStyle()
  {
   //從配置文件讀取SkinName的值,如無則使用標(biāo)準(zhǔn)樣式
   string skinName = config.AppConfigGet("SkinName");
   skinName = string.IsNullOrEmpty(skinName) ? "Office 2010 Blue" : skinName;

   foreach (GalleryItemGroup group in rgbiSkins.Gallery.Groups)
   {
    foreach (GalleryItem item in group.Items)
    {
     if (string.Concat(item.Tag) == skinName)
     {
      item.Checked = true;
      rgbiSkins.Gallery.MakeVisible(item);
      UserLookAndFeel.Default.SetSkinStyle(skinName);
      return;
     }
     item.Checked = false;
    }
   }
  }

然后在主界面的初始化代碼中進(jìn)行調(diào)用即可,同時記得在App.Config文件中增加一個SkinName的配置項(xiàng),方便程序進(jìn)行存儲皮膚名稱。

這樣就可以實(shí)現(xiàn)我們皮膚的變化及存儲功能了,修改皮膚,并重啟程序,系統(tǒng)依舊使用保存好的皮膚,功能符合預(yù)期。

這個功能不算復(fù)雜,提供代碼方便大家進(jìn)行復(fù)制使用。

以上這篇在Winform框架界面中改變并存儲界面皮膚樣式的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#實(shí)現(xiàn)將像素轉(zhuǎn)換為頁面單位的方法

    C#實(shí)現(xiàn)將像素轉(zhuǎn)換為頁面單位的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將像素轉(zhuǎn)換為頁面單位的方法,涉及C#像素轉(zhuǎn)換在圖形繪制中的技巧,需要的朋友可以參考下
    2015-06-06
  • C#面向?qū)ο筇卣鞯木唧w實(shí)現(xiàn)及作用詳解

    C#面向?qū)ο筇卣鞯木唧w實(shí)現(xiàn)及作用詳解

    所有的面相對象思想,歸根結(jié)底是為了簡化代碼,減少代碼量,構(gòu)建更符合現(xiàn)實(shí)生活邏輯的程序代碼,從而減輕程序員的負(fù)擔(dān)。不能一味地或者說刻意地去使用面相對象的思想而忽略了程序所實(shí)現(xiàn)的功能或者框架,要根據(jù)實(shí)際情況
    2013-10-10
  • C#驗(yàn)證身份證號碼正確性的實(shí)例代碼(收藏)

    C#驗(yàn)證身份證號碼正確性的實(shí)例代碼(收藏)

    這篇文章主要介紹了C#驗(yàn)證身份證號碼正確性的實(shí)例代碼,包括18位號碼和15位號碼的校驗(yàn),需要的朋友可以參考下
    2017-07-07
  • C#獲取指定PDF文件頁數(shù)的方法

    C#獲取指定PDF文件頁數(shù)的方法

    這篇文章主要介紹了C#獲取指定PDF文件頁數(shù)的方法,涉及C#操作pdf文件的技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • 基于C#編寫獲取硬件信息的工具類

    基于C#編寫獲取硬件信息的工具類

    這篇文章主要為大家詳細(xì)介紹了如何利用C#編寫一個獲取硬件信息的簡單工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-11-11
  • c# AES字節(jié)數(shù)組加密解密流程及代碼實(shí)現(xiàn)

    c# AES字節(jié)數(shù)組加密解密流程及代碼實(shí)現(xiàn)

    這篇文章主要介紹了c# AES字節(jié)數(shù)組加密解密流程及代碼實(shí)現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • asp.net實(shí)現(xiàn)遍歷Request的信息操作示例

    asp.net實(shí)現(xiàn)遍歷Request的信息操作示例

    這篇文章主要介紹了asp.net實(shí)現(xiàn)遍歷Request的信息操作,涉及asp.net針對請求信息相關(guān)操作打印操作技巧,需要的朋友可以參考下
    2020-03-03
  • 基于WPF實(shí)現(xiàn)經(jīng)典紙牌游戲

    基于WPF實(shí)現(xiàn)經(jīng)典紙牌游戲

    這篇文章主要為大家詳細(xì)介紹了如何溧陽WPF實(shí)現(xiàn)經(jīng)典紙牌游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)WPF有一定的幫助,需要的可以參考一下
    2023-02-02
  • C#繪制柱狀圖和折線圖的方法

    C#繪制柱狀圖和折線圖的方法

    這篇文章主要為大家詳細(xì)介紹了C#繪制柱狀圖和折線圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#的泛型方法解析

    C#的泛型方法解析

    本文講解了C#2.0引入的泛型知識,主要包含泛型類、泛型接口、泛型委托,并且重點(diǎn)講解了泛型方法,已經(jīng)泛型的約束分類。最后給了一些利用泛型方法操作xml的方法。希望對大家有所幫助
    2016-12-12

最新評論

广饶县| 大洼县| 台东市| 乌兰县| 鄂托克旗| 革吉县| 揭西县| 巨野县| 汶上县| 萍乡市| 双辽市| 全椒县| 新郑市| 运城市| 鄯善县| 纳雍县| 封丘县| 上虞市| 淮北市| 全椒县| 启东市| 舟曲县| 班戈县| 合作市| 阳城县| 桐梓县| 金门县| 阳江市| 鄂伦春自治旗| 泰和县| 商河县| 奉化市| 西和县| 丁青县| 莱州市| 县级市| 凤翔县| 潞西市| 甘洛县| 赤城县| 宣城市|