Apr 24, 2007

编程控制标签显示的颜色

老江同志在联合国千年首脑会议上讲话中说,“世界是丰富多彩的……”确实,这个世界上缤纷的颜色,给我们带来了很多的愉悦,想想湛蓝的大海,碧绿的草原,清澈的湖水,火红的晚霞,“呀,呀,呀,呀,我们的大学生活,是多么美好啊”。

有人说,整啥玩意儿?装什么清纯呢?想说什么直说。

其实,在我们编程中,合理的利用颜色,也能够带来一点点的便利。


例如,我们知道,超文本链接,一般情况下,在没有点击之前是蓝色的,点击之后便成了紫色(具体颜色可以在CSS中设置),这很方便我们来区分哪些网页是访问过的,哪些没有。下面的问题是,如何在程序中用代码来控制颜色,给用户带来方便。




在上面的图中(由于工具的问题,显示的不清楚),当用户选择了某个纪录后,记录能够改变颜色,提醒用户该记录已经选择,就可以避免用户重复添加同一条记录的错误。

在DataGrid中,可以这么来实现:

当Label的ID是lblCourseName的时候,

Label mylblCourseName=(Label)mySelectedItem.FindControl("lblCourseName");

…… …… ……
mylblCourseName.ForeColor=Color.Red

当然你也可以指定Color.Blue,Color.Gray,等等。这里使用的是系统提供的颜色。系统提供了数十种颜色,基本上够用了。

也许有人会想,数十种,这哪儿谈得上“丰富多彩”啊。这里微软提供了另一种方法,通过Color结构的构造函数来实现,用的是FromArgb()方法,一般我用的是FromArgb(Int32, Int32, Int32) 的构造函数,三个参数分别表示红色分量值,绿色色分量值,蓝色分量值(0-255)。

例如,Color.FromArgb(123, 0, 123);

mylblCourseName.ForeColor=Color.FromArgb(255, 0,0);

效果是这个样子的:




No comments: