mm急求,C#的WEBFORM中如何实现颜色选择?

mmalis 2003-04-17 02:39:29

如题:

C#中,有没有控件实现象WORD中那样,弹出颜色选择框,可以输入RGB的值或直接选择颜色,然后得到选择颜色的RGB值的控件。

急需!!!
...全文
322 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmalis 2003-04-17
  • 打赏
  • 举报
回复

谢谢”温馨港湾“指点!
我不会使用你给的控件,能简要说明一下吗?
houjianxun 2003-04-17
  • 打赏
  • 举报
回复
winform下就要用ColorDialog就可以了

webform下要用javascript写的方便些
qieyj 2003-04-17
  • 打赏
  • 举报
回复
ColorDialog 组件

此对话框显示颜色列表,并且返回所选的颜色。

与前两种对话框不同,ColorDialog 组件很容易实现其主要功能(挑选颜色)。选取的颜色将成为 Color 属性的设定值。因此,使用颜色就和设定属性值一样简单。在下面的例子中,按钮控制的 Click 事件将会开启一个 ColorDialog 组件。一旦用户选中某种颜色,并且单击了 OK ,按钮的背景将被设成所选的颜色。本例假设存在名为 Button1 的 Button 组件和名为 ColorDialog1 的 ColorDialog 组件。

' Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
If ColorDialog1.ShowDialog() = DialogResult.OK Then
Button1.BackColor = ColorDialog1.Color
End If
End Sub

// C#
private void button1_Click(object sender, System.EventArgs e)
{
if(colorDialog1.ShowDialog() == DialogResult.OK)
{
button1.BackColor = colorDialog1.Color;
}
}


ColorDialog 组件具有 AllowFullOpen 属性。当其设为 False 的时候,Define Custom Colors 按钮将会失效,此时用户只能使用预定义的调色板。此外,它还有一个 SolidColorOnly 属性,当其设为 true 时,用户将不能使用抖动颜色。

FontDialog 组件

此对话框允许用户选择字体,以改变其 weight 和 size 等属性。

被选中的字体将成为 Font 属性的设定值。因此,使用字体也和设定属性值一样简单。在本例通过 Button 控件的 Click 事件调用 FileDialog 组件。当用户选中一个字体,并且单击 OK 的时候,TextBox 控件的 Font 属性将被设成所选的字体。本例假设存在名为 Button1 的 Button 控件,名为 TextBox1 的 TextBox 控件和名为 FontDialog1 的 FontDialog 组件。

' Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
If FontDialog1.ShowDialog() = DialogResult.OK Then
TextBox1.Font = FontDialog1.Font
End If
End Sub

// C#
private void button1_Click(object sender, System.EventArgs e)
{
if(fontDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;
}
}

FontDialog 元件还包括 MinSize 和 MaxSize 属性,它们决定了允许用户选择的字体的最小和最大点数;还有一个 ShowColor 属性,当其设为 True 时,用户可以从对话框的下拉列表中选取字体的颜色。
qieyj 2003-04-17
  • 打赏
  • 举报
回复
在图形编程中,默认的图形度量单位是象素。不过,你可以通过修改PageUnit属性来修改图形的度量单位,可以是英寸或是毫米等。实现方法如下:

Graphics g = e.Graphics;

g.PageUnit = GraphicsUnit.Inch


操作颜色选择对话框:

在实际运用特别是图形图像编程过程中,我们可能会经常碰到颜色选择对话框(以及下面要提到的字体选择对话框)。使用颜色选择对话框,我们可以让用户来选择系统预定的颜色以及用户自定义的颜色。在使用颜色选择对话框之前,我们必须先创建一个ColorDialog类型的对象:

ColorDialog cd = new ColorDialog();

然后,我们就可以用ShowDialog()方法来显示颜色选择对话框了。之后,就可以通过调用用户的颜色选择进行相关的图形操作了。

以下,我给大家一个实例。该实例中有一个按钮和一个文本框,通过点击按钮可以调出颜色选择对话框,根据用户的颜色选择就可以设置文本框的背景颜色了。

using System;

using System.Drawing;

using System.Windows.Forms;


public class Clr:Form{

Button b1 = new Button();

TextBox tb = new TextBox();

ColorDialog clg = new ColorDialog();


public Clr(){

b1.Click += new EventHandler(b1_click);

b1.Text = "选择颜色";

tb.Location = new Point(50,50);


this.Controls.Add(b1);

this.Controls.Add(tb);

}


public void b1_click(object sender, EventArgs e){

clg.ShowDialog();

tb.BackColor = clg.Color;

}


public static void Main() {

Application.Run(new Clr());

}

}


操作字体选择对话框:

字体是图形编程的一个重要组成部分,通过设置不同的字体,你可以在程序中达到不同的视觉效果。和以上的颜色选择对话框的创建差不多,你可以很方便地创建一个字体选择对话框,并通过它来让用户选择其所需的字体。

下面同样给出一个实例,这个实例和上面的实例差不多,只是用来字体选择对话框代替了原来的颜色选择对话框,最后是根据用户的字体选择来设置文本框的字体。

using System;

using System.Drawing;

using System.Windows.Forms;


public class Fonts:Form {

Button b1 = new Button();

TextBox tb = new TextBox();

FontDialog flg = new FontDialog();


public Fonts() {

b1.Click += new EventHandler(b1_click);

b1.Text = "选择字体";

tb.Location = new Point(50,50);


this.Controls.Add(b1);

this.Controls.Add(tb);

}


public void b1_click(object sender, EventArgs e) {

clg.ShowDialog();

tb.FontName = flg.Font;

}


public static void Main() {

Application.Run(new Fonts());

}

}


使用System.Drawing.Drawing2D名字空间:

如果你有一些图形图像编程的经验,那么你一定知道画笔和画刷的概念。它们在图形编程有非常广泛的运用。System.Drawing.Drawing2D名字空间提供了相当强大的功能,能让开发者很容易地操作画笔以及画刷对象。比如,你可以通过设置画笔的DashStyle属性(有Dash、DashDot、Solid等风格)来确定直线的风格。同样,通过运用SolidBrush、HatchBrush、GradientBrush等画笔你可以很轻易地修改被填充区域的外观。比如,你可以用SolidBrush将一个矩形区域用许许多多不同粗细的直线来填充。那么,我们在什么时候运用画笔和画刷呢?就像上面的例子中那样,通常一个图形轮廓(运用DrawXXX()方法)是用画笔对象来实现的,而一个填充区域(运用FillXXX()方法)则是用画刷对象来实现的。
qieyj 2003-04-17
  • 打赏
  • 举报
回复
下面是JAVASCIPE实现的:
http://www.csdn.net/cnshare/soft/6/6557.shtm
我有VC实现的,C#想想
mmalis 2003-04-17
  • 打赏
  • 举报
回复
yarshray:
怎写呀?能讲讲思路吗?
yarshray 2003-04-17
  • 打赏
  • 举报
回复
HTML自己写代码

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧