ColorDialog控件

  ColorDialog控件

有时需要让用户自定义窗体上的颜色。该颜色可能是窗体自身的颜色或控件的颜色,也可能是文本框中文本的颜色。Visual Basic 2008所提供的ColorDialog控件可以满足这些需求。同样,ColorDialog控件也可以用作一个类,其方法是在代码中声明它,而不是把一个控件拖放到窗体设计器中。

ColorDialog控件允许用户选择48种基本颜色,如图8-11所示。

注意,用户也可以自定义颜色,这给应用程序增加了更多的灵活性。当用户单击Color对话框中的Define Custom Colors按钮时,就可以调整颜色以满足自己的需求,如图8-12所示。

           

图  8-11                                 图  8-12

在应用程序中进行这样的定制,可以灵活地给应用程序提供更专业的外观,用户也会很高兴,因为他们可以根据自己的偏好调整应用程序的外观了。

  ColorDialog的属性

在深入研究代码之前,先来看一下ColorDialog控件的一些可用属性,如表8-9所示。

表8-9  ColorDialog控件的一些可用属性

属    性

说    明

AllowFullOpen

表明用户是否能用对话框自定义颜色

AnyColor

表明对话框是否显示基本颜色组中的所有可用颜色

Color

表明用户所选的颜色

CustomColors

表明显示在对话框中的自定义颜色组

FullOpen

表明当对话框打开时,用来创建自定义颜色的控件是否可见

ShowHelp

表明是否在对话框中显示Help按钮

SolidColorOnly

表明对话框是否限制用户只能选择纯色

这个对话框并没有太多的属性,因此它使用起来就比前面那些对话框简单多了。

与其他的对话框控件一样,ColorDialog也包含ShowDialog方法。前面的示例中已经介绍过这个方法,这里就不再讨论了。

8.5.2  使用ColorDialog控件

为显示Color对话框,只需执行它的ShowDialog方法:

ColorDialog1.ShowDialog()

ColorDialog控件返回的DialogResult为OK或Cancel。因而,可以在If…End If语句中使用上面的语句,测试DialogResult的值是否为OK,就像前面的示例那样。

为了获取用户所选的颜色,只要将从Color属性获取的值赋给一个变量,或者支持颜色的控件的任一个属性,比如文本框的ForeColor属性:

txtFile.ForeColor = ColorDialog1.Color

下面的示例继续使用Windows Forms Dialogs项目,让ColorDialog控件显示Color对话框。如果对话框返回DialogResult的值是OK,就改变窗体的背景色。

试一试:使用ColorDialog控件

(1) 打开Windows Forms Dialogs项目中的窗体设计器。

(2) 在窗体上,通过工具箱添加另一个Button控件,设置它的属性,如下所示。

●       将Name设置为btnColor

●       将Anchor设置为Top,Right

●       将Location设置为350, 103

●       将Text设置为Color

(3) 下一步,从工具箱中给项目添加一个ColorDialog控件。该控件会放在窗体下的工作区中,接受这个控件所有的默认值。

(4) 双击Color按钮,在它的Click事件处理程序中,添加如下突出显示的代码:

Private Sub btnColor_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnColor.Click

'Show the Color dialog and if the user clicks the OK button,

'update the background color of the form

If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Me.BackColor = ColorDialog1.Color

End If

End Sub

(5) 这就是需要添加的所有代码。现在启动项目测试一下对这个项目进行的修改。

(6) 显示出窗体后,单击Color按钮,以显示Color对话框。选择所需要的颜色,或者单击Define Custom Colors按钮,创建一种自定义颜色。选择完颜色后,单击Color对话框中的OK按钮。现在窗体的背景色变成了刚才所选的颜色。

(7) 与Font对话框相似,无需在显示Color对话框之前,设置ColorDialog控件的Color属性。它会自动记住所选的颜色,在再次显示对话框时,就显示用户所选择的颜色。为了测试这一点,再次单击Color按钮,选择的颜色就会被选定。

示例说明

这次,我们不想设置ColorDialog控件的任何属性,跳过这一步,用If…End If语句显示它,以检查从这个对话框的ShowDialog方法返回的DialogResult:

If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

在If…End If语句中,添加必要的代码,改变窗体的BackColor属性。如果用户单击Color对话框中的OK按钮,窗体的背景色就会因下列这行代码而改变。

Me.BackColor = ColorDialog1.Color

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值