亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET多彩下拉框開發實例

2024-07-10 13:29:22
字體:
來源:轉載
供稿:網友

有人曾經提出開發一個根據不同選擇而顯示不同顏色的管理工具,本文主要就是演示如何讀取系統顏色并在下拉框中的每個條目中顯示對應的顏色,需要的朋友可以參考下

本文主要是演示如何讀取系統顏色并在下拉框中的每個條目中顯示對應的顏色,該源碼主要展示以下內容:

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

2、如何排除系統環境顏色,如“Active Border”

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

代碼詳解:

命名下拉框為ddlMultiColor 來顯示顏色名稱及顏色,用

標簽顯示右側矩形結果,Aspx代碼如下

 

 
  1. <table>  
  2. <tr>  
  3. <td>  
  4. <asp:DropDownList ID ="ddlMultiColor" 
  5. OnSelectedIndexChanged="ddlMultiColor_OnSelectedIndexChanged" 
  6. runat="server" AutoPostBack="true">  
  7. </asp:DropDownList>  
  8. </td>  
  9. <td>  
  10. <div id="msgColor" runat="server">  
  11. </div>  
  12. </td>  
  13. </tr>  
  14. </table> 

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

 

 
  1. using System;  
  2. using System.Web;  
  3. using System.Reflection;  
  4. using System.Drawing;  
  5. using System.Collections.Generic; 

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

 

 
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3. if (Page.IsPostBack == false)  
  4. {  
  5. populateDdlMultiColor(); //51aspx.com  
  6. colorManipulation();  
  7. }  

現在讓我們來看一下populateDdlMultiColor() 函數

 

 
  1. private void populateDdlMultiColor()  
  2. {  
  3. ddlMultiColor.DataSource = finalColorList();  
  4. ddlMultiColor.DataBind(); //  
  5.  
  6. finalColorList()方法 
  7.  
  8. private List finalColorList()  
  9. {  
  10. string[] allColors = Enum.GetNames(typeof(System.Drawing.KnownColor));  
  11. string[] systemEnvironmentColors =  
  12. new string[(  
  13. typeof(System.Drawing.SystemColors)).GetProperties().Length];  
  14.  
  15. int index = 0;  
  16.  
  17. foreach (MemberInfo member in (  
  18. typeof(System.Drawing.SystemColors)).GetProperties())  
  19. {  
  20. systemEnvironmentColors[index ++] = member.Name;  
  21. }  
  22. List finalColorList = new List();  
  23. foreach (string color in allColors)  
  24. {  
  25. if (Array.IndexOf(systemEnvironmentColors, color) < 0)  
  26. {  
  27. finalColorList.Add(color);  
  28. }  
  29. }  
  30. return finalColorList;  

System.Drawing.KnownColor是Asp.net系統本身自帶顏色,我已經通過枚舉列出了這些顏色并通過 finalColorList()函授進行綁定。為了實現該功能,我使用了最基本的枚舉特征之一:Enum.GetNames() 共享方法,該方法對枚舉內容進行檢測并輸出結果為字符串序列,該字符串中每個值都對應枚舉中的每個結果。

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

這里我用System.Drawing.SystemColors屬性填充systemEnvironmentColors ,然后創建一個名稱為finalColorList 的圖形列表,在finalColorList 中我只調用已知顏色,但是不在系統環境顏色中。然后把finalColorList綁定到ddlMultiColor中。至此,我們已經有了一個包括全部顏色名稱的下拉框,下面讓我們來操作一下:

 

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

下拉框中的每一行背景顏色的Style]屬性都與該行顯示的顏色名稱對應的。在OnSelectedIndexChanged 事件中下拉框中被選中的行通過下面的函數結合

標簽進行高亮顯示,同時右側的矩形顏色也隨之變化。

 

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

至此,我們學會了如果獲取System.Drawing并排出系統環境顏色,并綁定顏色名稱到下拉列表。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品丝袜久久久久久高清| 欧美性生交大片免费| 久久久久久亚洲精品| 国产在线视频一区| 午夜剧场成人观在线视频免费观看| 亚洲精品不卡在线| 亚洲午夜未删减在线观看| 国产视频久久久久久久| 国产ts人妖一区二区三区| 97在线免费观看视频| 91精品在线播放| 亚洲香蕉av在线一区二区三区| 日韩在线高清视频| 亚洲娇小xxxx欧美娇小| 亚洲国产精品久久久久久| 91免费福利视频| 岛国av午夜精品| 日韩国产精品视频| 最新的欧美黄色| 欧美激情在线视频二区| 欧美日韩在线视频一区二区| 日韩av有码在线| 国产亚洲欧美日韩一区二区| 日韩精品极品视频| 亚洲乱亚洲乱妇无码| 精品少妇v888av| 91精品国产777在线观看| 亚洲精品资源美女情侣酒店| 国内偷自视频区视频综合| 欧美野外wwwxxx| 国产精品视频公开费视频| 亚洲理论在线a中文字幕| 欧美最猛性xxxxx亚洲精品| 久久影院资源站| 欧美色欧美亚洲高清在线视频| 日韩av综合中文字幕| 色伦专区97中文字幕| 亚洲成人黄色网| 日本精品久久中文字幕佐佐木| 国产精品va在线播放| 亚洲成人精品在线| 亚洲天堂av高清| 国产精品福利小视频| 欧美一级在线亚洲天堂| 亚洲美女自拍视频| 久久久免费高清电视剧观看| 最新国产成人av网站网址麻豆| 国产精品激情自拍| 国产成人黄色av| 萌白酱国产一区二区| 一本色道久久88综合亚洲精品ⅰ| 久久精品视频在线观看| 国产精品网红福利| 色婷婷av一区二区三区在线观看| 欧美成人h版在线观看| 欧美亚洲一区在线| 亚洲香蕉av在线一区二区三区| 久热精品视频在线免费观看| 日本中文字幕不卡免费| 国产suv精品一区二区| 亚洲www永久成人夜色| 国产精品视频中文字幕91| 97人洗澡人人免费公开视频碰碰碰| 国产97在线|亚洲| 57pao成人国产永久免费| 久久亚洲国产成人| 日韩激情av在线免费观看| 91青草视频久久| 日韩av大片在线| 国产精品视频区1| 国产精品专区h在线观看| 欧美日韩国产精品一区二区三区四区| 欧美国产欧美亚洲国产日韩mv天天看完整| 狠狠色狠狠色综合日日小说| 在线电影av不卡网址| 国产97在线|日韩| 日本精品视频在线| 欧美有码在线观看视频| 国产欧美一区二区白浆黑人| 亚洲成人av片在线观看| 成人有码在线视频| 日韩av在线精品| 91亚洲一区精品| 亚洲精品成人久久久| 亚洲人成电影网| 成人网址在线观看| 国内揄拍国内精品| 成人欧美一区二区三区黑人| 欧美一区二区大胆人体摄影专业网站| 久久视频在线观看免费| 5566日本婷婷色中文字幕97| 午夜免费日韩视频| 国产精品久久久久久久久| 大胆人体色综合| 91在线看www| 精品亚洲精品福利线在观看| 国产91在线播放精品91| 456亚洲影院| 亚洲激情久久久| 欧美在线一区二区视频| 中文字幕免费国产精品| 蜜月aⅴ免费一区二区三区| 欧美激情免费视频| 亚洲综合中文字幕68页| 亚洲国产精品成人av| 国产精品精品视频一区二区三区| 欧美日韩国产一区中文午夜| 欧美日韩黄色大片| 91国语精品自产拍在线观看性色| 久久精品国产69国产精品亚洲| 欧美成aaa人片在线观看蜜臀| 日韩欧美在线看| 亚洲欧美一区二区三区在线| 欧美乱大交xxxxx| 成人欧美一区二区三区在线湿哒哒| 欧美性感美女h网站在线观看免费| 久久视频免费在线播放| 亚洲色图偷窥自拍| 亚洲欧美一区二区精品久久久| 欧美大片在线影院| 国产亚洲一区二区精品| 不卡中文字幕av| 日日骚久久av| 亚洲精品免费网站| 国产精品入口免费视| 国产精品白丝av嫩草影院| 国产欧美在线播放| 91产国在线观看动作片喷水| 精品久久香蕉国产线看观看gif| 国产在线拍偷自揄拍精品| 亚洲春色另类小说| 美女福利视频一区| 精品日韩视频在线观看| 亚洲网站在线看| 欧美在线视频导航| 国产精品电影一区| 欧美疯狂性受xxxxx另类| 色综合久久中文字幕综合网小说| 国产精品视频免费在线| 日本不卡高字幕在线2019| 亚洲综合中文字幕在线观看| 国产精品一区久久| 国产免费一区二区三区在线能观看| 亚洲人成电影网站| 91久久久久久久| 亚洲天天在线日亚洲洲精| 国产一区二区三区毛片| 97碰在线观看| 欧洲日韩成人av| 亚州国产精品久久久| 岛国视频午夜一区免费在线观看| 日本sm极度另类视频| 91国偷自产一区二区三区的观看方式| 久久99视频精品| 日韩高清av一区二区三区| 中文字幕亚洲激情| 欧美大尺度激情区在线播放| 亚洲精品91美女久久久久久久| 国产91精品视频在线观看| 国产精品久久久av| 色老头一区二区三区在线观看| 欧美高清理论片| 自拍偷拍亚洲精品| 97精品在线观看|