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

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

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

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

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

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

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

代碼詳解:

   命名下拉框為ddlMultiColor 來顯示顏色名稱及顏色,用<div>標簽顯示右側矩形結果,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中我們對選中的下拉列表進行處理顯示

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

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

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

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

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

 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]屬性都與該行顯示的顏色名稱對應的。在OnSelectedIndexChanged 事件中下拉框中被選中的行通過下面的函數結合<div>標簽進行高亮顯示,同時右側的矩形顏色也隨之變化。

 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;"); 
 }

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

相關文章

  • asp.net中的GridView分頁問題

    asp.net中的GridView分頁問題

    這篇文章主要介紹了asp.net中的GridView分頁問題,實例講述了采用GridView分頁出現的問題及對應的解決方案,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • ASP.net百度主動推送功能實現代碼

    ASP.net百度主動推送功能實現代碼

    百度站長工具的主動推送功能,以最為快速的提交方式,推薦您將站點當天新產出鏈接立即通過此方式推送給百度,以保證新鏈接可以及時被百度收錄
    2020-09-09
  • asp.net 網頁編碼自動識別代碼

    asp.net 網頁編碼自動識別代碼

    另外一位網友空間/IV提供的代碼,功能同HttpWebRequest獲取網頁源代碼時自動識別網頁編碼
    2008-09-09
  • 輕量級ORM框架Dapper應用之返回多個結果集

    輕量級ORM框架Dapper應用之返回多個結果集

    這篇文章介紹了使用Dapper返回多個結果集的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET實現圖片以二進制的形式存入數據庫

    ASP.NET實現圖片以二進制的形式存入數據庫

    這篇文章主要介紹了ASP.NET實現圖片以二進制的形式存入數據庫,有一定的學習借鑒價值,需要的朋友可以參考下
    2014-08-08
  • GridView單元格合并

    GridView單元格合并

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

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

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

    ASP.NET Core全面掃盲貼

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

    在ASP.Net Core中使用Lamar的全過程

    這篇文章主要給大家介紹了關于在ASP.Net Core中使用Lamar的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 一個ASP.Net下的WebShell實例

    一個ASP.Net下的WebShell實例

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

最新評論

龙川县| 信阳市| 蒙阴县| 荣昌县| 秭归县| 咸阳市| 稻城县| 河东区| 酒泉市| 黄冈市| 乌拉特中旗| 华池县| 常熟市| 大埔县| 徐闻县| 博湖县| 津南区| 沙田区| 舞阳县| 东至县| 门源| 鄂尔多斯市| 合川市| 新宾| 梅州市| 临汾市| 凤凰县| 南安市| 东方市| 溆浦县| 平武县| 双桥区| 襄樊市| 永德县| 宿迁市| 棋牌| 巴彦淖尔市| 泌阳县| 九江市| 桂林市| 都江堰市|