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

ASP.NET多彩下拉框開(kāi)發(fā)實(shí)例

 更新時(shí)間:2015年09月17日 12:01:25   投稿:lijiao  
有人曾經(jīng)提出開(kāi)發(fā)一個(gè)根據(jù)不同選擇而顯示不同顏色的管理工具,本文主要就是演示如何讀取系統(tǒng)顏色并在下拉框中的每個(gè)條目中顯示對(duì)應(yīng)的顏色,需要的朋友可以參考下

本文主要是演示如何讀取系統(tǒng)顏色并在下拉框中的每個(gè)條目中顯示對(duì)應(yīng)的顏色,該源碼主要展示以下內(nèi)容:

   1、如何獲得System.Drawing.KnownColor顏色控件的列表枚舉

   2、如何排除系統(tǒng)環(huán)境顏色,如“Active Border”

   3、如何分配顏色到下拉框的每個(gè)條目  

代碼詳解:

   命名下拉框?yàn)閐dlMultiColor 來(lái)顯示顏色名稱及顏色,用<div>標(biāo)簽顯示右側(cè)矩形結(jié)果,Aspx代碼如下

 <table> 
 <tr> 
 <td> 
 <asp:DropDownList ID ="ddlMultiColor" 
 OnSelectedIndexChanged="ddlMultiColor_OnSelectedIndexChanged" 
 runat="server" AutoPostBack="true"> 
 </asp:DropDownList> 
 </td> 
 <td> 
 <div id="msgColor" runat="server"> 
 </div> 
 </td> 
 </tr> 
 </table>

 在cs文件中我們需要引用以下命名空間:

 using System; 
 using System.Web; 
 using System.Reflection; 
 using System.Drawing; 
 using System.Collections.Generic;

我們先看一下Page_Load事件,在Page_Load中我們對(duì)選中的下拉列表進(jìn)行處理顯示

 protected void Page_Load(object sender, EventArgs e) 
 { 
 if (Page.IsPostBack == false) 
 { 
 populateDdlMultiColor(); //51aspx.com 
 colorManipulation(); 
 } 
 }

  現(xiàn)在讓我們來(lái)看一下populateDdlMultiColor() 函數(shù)

 private void populateDdlMultiColor() 
 { 
 ddlMultiColor.DataSource = finalColorList(); 
 ddlMultiColor.DataBind(); // 
 }

 finalColorList()方法

 private List finalColorList() 
 { 
 string[] allColors = Enum.GetNames(typeof(System.Drawing.KnownColor)); 
 string[] systemEnvironmentColors = 
 new string[( 
 typeof(System.Drawing.SystemColors)).GetProperties().Length]; 
 
 int index = 0; 
 
 foreach (MemberInfo member in ( 
 typeof(System.Drawing.SystemColors)).GetProperties()) 
 { 
 systemEnvironmentColors[index ++] = member.Name; 
 } 
 List finalColorList = new List(); 
 foreach (string color in allColors) 
 { 
 if (Array.IndexOf(systemEnvironmentColors, color) < 0) 
 { 
 finalColorList.Add(color); 
 } 
 } 
 return finalColorList; 
 }

System.Drawing.KnownColor是Asp.net系統(tǒng)本身自帶顏色,我已經(jīng)通過(guò)枚舉列出了這些顏色并通過(guò) finalColorList()函授進(jìn)行綁定。為了實(shí)現(xiàn)該功能,我使用了最基本的枚舉特征之一:Enum.GetNames() 共享方法,該方法對(duì)枚舉內(nèi)容進(jìn)行檢測(cè)并輸出結(jié)果為字符串序列,該字符串中每個(gè)值都對(duì)應(yīng)枚舉中的每個(gè)結(jié)果。

 然而,該方法還是有些問(wèn)題的。按照上面的思路,枚舉金額過(guò)中會(huì)包括系統(tǒng)環(huán)境顏色,比如“Active Border(注:活動(dòng)邊框)”,為了解決該問(wèn)題,我擴(kuò)展了系統(tǒng)環(huán)境顏色。我用了System.Reflection.MemberInfo類。

 這里我用System.Drawing.SystemColors屬性填充systemEnvironmentColors ,然后創(chuàng)建一個(gè)名稱為finalColorList 的圖形列表,在finalColorList 中我只調(diào)用已知顏色,但是不在系統(tǒng)環(huán)境顏色中。然后把finalColorList綁定到ddlMultiColor中。至此,我們已經(jīng)有了一個(gè)包括全部顏色名稱的下拉框,下面讓我們來(lái)操作一下:

 private void colorManipulation() 
 { 
 int row; 
 for (row = 0; row < ddlMultiColor.Items.Count - 1; row++) 
 { 
 ddlMultiColor.Items[row].Attributes.Add("style", 
 "background-color:" + ddlMultiColor.Items[row].Value); 
 } 
 ddlMultiColor.BackColor = 
 Color.FromName(ddlMultiColor.SelectedItem.Text);//liudao翻譯 
 }

下拉框中的每一行背景顏色的Style]屬性都與該行顯示的顏色名稱對(duì)應(yīng)的。在OnSelectedIndexChanged 事件中下拉框中被選中的行通過(guò)下面的函數(shù)結(jié)合<div>標(biāo)簽進(jìn)行高亮顯示,同時(shí)右側(cè)的矩形顏色也隨之變化。

 protected void ddlMultiColor_OnSelectedIndexChanged(object sender, 
 EventArgs e) 
 { 
 ddlMultiColor.BackColor = Color.FromName(ddlMultiColor.SelectedItem.Text); 
 colorManipulation(); 
 ddlMultiColor.Items.FindByValue(ddlMultiColor.SelectedValue).Selected = 
 true; 
 msgColor.Attributes.Add("style", "background:" + 
 ddlMultiColor.SelectedItem.Value + ";width:30px;height:25px;"); 
 }

至此,我們學(xué)會(huì)了如果獲取System.Drawing并排出系統(tǒng)環(huán)境顏色,并綁定顏色名稱到下拉列表。

相關(guān)文章

  • asp.net中的GridView分頁(yè)問(wèn)題

    asp.net中的GridView分頁(yè)問(wèn)題

    這篇文章主要介紹了asp.net中的GridView分頁(yè)問(wèn)題,實(shí)例講述了采用GridView分頁(yè)出現(xiàn)的問(wèn)題及對(duì)應(yīng)的解決方案,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • ASP.net百度主動(dòng)推送功能實(shí)現(xiàn)代碼

    ASP.net百度主動(dòng)推送功能實(shí)現(xiàn)代碼

    百度站長(zhǎng)工具的主動(dòng)推送功能,以最為快速的提交方式,推薦您將站點(diǎn)當(dāng)天新產(chǎn)出鏈接立即通過(guò)此方式推送給百度,以保證新鏈接可以及時(shí)被百度收錄
    2020-09-09
  • asp.net 網(wǎng)頁(yè)編碼自動(dòng)識(shí)別代碼

    asp.net 網(wǎng)頁(yè)編碼自動(dòng)識(shí)別代碼

    另外一位網(wǎng)友空間/IV提供的代碼,功能同HttpWebRequest獲取網(wǎng)頁(yè)源代碼時(shí)自動(dòng)識(shí)別網(wǎng)頁(yè)編碼
    2008-09-09
  • 輕量級(jí)ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集

    輕量級(jí)ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集

    這篇文章介紹了使用Dapper返回多個(gè)結(jié)果集的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET實(shí)現(xiàn)圖片以二進(jìn)制的形式存入數(shù)據(jù)庫(kù)

    ASP.NET實(shí)現(xiàn)圖片以二進(jìn)制的形式存入數(shù)據(jù)庫(kù)

    這篇文章主要介紹了ASP.NET實(shí)現(xiàn)圖片以二進(jìn)制的形式存入數(shù)據(jù)庫(kù),有一定的學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • GridView單元格合并

    GridView單元格合并

    合并單元格 合并某一行的所有列
    2008-12-12
  • 如何在ASP.NET Core中使用Session的示例代碼

    如何在ASP.NET Core中使用Session的示例代碼

    這篇文章主要介紹了如何在ASP.NET Core中使用Session的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • ASP.NET Core全面掃盲貼

    ASP.NET Core全面掃盲貼

    本篇文章主要介紹了.NET Core,.NET Core是一個(gè)開(kāi)源通用的開(kāi)發(fā)框架,支持跨平臺(tái),即支持在Window,macOS,Linux等系統(tǒng)上的開(kāi)發(fā)和部署有興趣的可以了解一下。
    2017-03-03
  • 在ASP.Net Core中使用Lamar的全過(guò)程

    在ASP.Net Core中使用Lamar的全過(guò)程

    這篇文章主要給大家介紹了關(guān)于在ASP.Net Core中使用Lamar的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 一個(gè)ASP.Net下的WebShell實(shí)例

    一個(gè)ASP.Net下的WebShell實(shí)例

    一個(gè)ASP.Net下的WebShell,主要完成cmd命令。一般的服務(wù)器設(shè)置,asp.net用戶的權(quán)限都比較高。如果asp的webshell無(wú)法執(zhí)行,可能asp.net的可以執(zhí)行。
    2013-07-07

最新評(píng)論

筠连县| 正安县| 龙口市| 雷山县| 雷山县| 敦化市| 巨鹿县| 嘉黎县| 张家港市| 沁阳市| 清苑县| 同德县| 浦城县| 彰化市| 永嘉县| 濮阳县| 华蓥市| 楚雄市| 贵南县| 寻甸| 格尔木市| 铅山县| 龙江县| 嘉善县| 积石山| 乌鲁木齐市| 马边| 花莲县| 色达县| 桂林市| 牙克石市| 兴文县| 漯河市| 呼玛县| 甘南县| 永仁县| 滨海县| 洱源县| 修水县| 乌拉特前旗| 闸北区|