网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

如何在Asp.net中实现多彩下拉框

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12

     开发背景:
   有人曾经要我开发一个根据不同选择而显示不同颜色的管理工具。我开始考虑利用下拉框来实现条目背景及显示颜色根据条目名称不同而进行变化,根据这个思路我在网上搜了半天也没有找到任何相关的解决方案,最后我想到了一个比当初需求要复杂的方案(包括数据库),所以我尝试着找到一个更简单的实现方案。
  
   该文主要是演示如何读取系统颜色并在下拉框中的每个条目中显示对应的颜色,该源码主要展示以下内容:
   1、如何获得System.Drawing.KnownColor颜色控件的列表枚举
   2、如何排除系统环境颜色,如“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(); //liudao 翻译
  }
  
   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;
  } 

&

  • 下一篇资讯: 如何实现站点的RSS输出
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号