国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

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

2019-10-29 21:08:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

1、界面皮膚的選擇

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

Winform,改變,存儲(chǔ)界面,皮膚樣式

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

Winform,改變,存儲(chǔ)界面,皮膚樣式

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

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

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

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

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

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

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

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

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

/// <summary>  /// 設(shè)置用戶界面的皮膚  /// </summary>  private void SetSkinStyle()  {   //從配置文件讀取SkinName的值,如無(wú)則使用標(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;    }   }  }

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

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

如下代碼所示。

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

這樣綜合起來(lái)就是兩個(gè)函數(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的值,如無(wú)則使用標(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)用即可,同時(shí)記得在App.Config文件中增加一個(gè)SkinName的配置項(xiàng),方便程序進(jìn)行存儲(chǔ)皮膚名稱。

Winform,改變,存儲(chǔ)界面,皮膚樣式

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

Winform,改變,存儲(chǔ)界面,皮膚樣式

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

以上這篇在Winform框架界面中改變并存儲(chǔ)界面皮膚樣式的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。

 

注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汾阳市| 嘉鱼县| 灵寿县| 华蓥市| 凌海市| 芜湖市| 清水河县| 辽宁省| 襄樊市| 衡水市| 偃师市| 古交市| 长沙市| 犍为县| 拉萨市| 太白县| 通化市| 治多县| 楚雄市| 奇台县| 北宁市| 伊金霍洛旗| 旺苍县| 怀仁县| 盐津县| 兴化市| 堆龙德庆县| 武功县| 仲巴县| 时尚| 抚州市| 雅安市| 赣州市| 安顺市| 乃东县| 新泰市| 梅州市| 巴林右旗| 开阳县| 永康市| 大英县|