[求助]做8出这个题目

hooligan000112003 2004-12-10 10:15:04
题目在:
http://www.chinaaspx.com/comm/dotnetbbs/Showtopic.aspx?Forum_ID=6&Id=105628

本题将创建一个自定义控件,该自定义控件从System.Windows.Forms.Control类继承。该自定义控件公布一个DrawMode属性,该属性有3个取值,当该属性变化的时候,自定义控件的ForeColor属性和BackColor属性值将变化。其变化关系如表1所示。
表1 DrawMode属性和ForeColor属性、BackColor属性的变化关系
DrawMode属性 ForeColor属性 BackColor属性
DrawingMode.Happy Color.Green Color.Yellow
DrawingMode.Sad Color.LightSlateGray Color.White
DrawingMode.Angry Color.Red Color.Teal
注意:
1. DrawingMode为自定义的枚举类型
2. ForeColor属性、BackColor属性以及Text属性都是基类System.Windows.Forms.Control定义的属性
3. 程序中将编写测试程序以测试该自定义控件,测试程序的主界面如图1所示。

图1 测试程序主界面(在下面)
图1所示的窗体上,左边为自定义控件,右边为一组RadioButton。当用户单击图1所示的窗体上不同的RadioButton时,左边的自定义控件将显示不同的BackColor和ForeColor,具体对照关系如表1所示。
在做本题目之前,要求每个学员的计算机的环境如下:
1.安装了Microsoft Visual Studio .NET 2000或更高版本。
2. 考试用机上提供MSDN的联机帮助文档。
具体步骤:
1 编写自定义控件
1.1 自定义控件的基类为System.Windows.Forms.Control
1.2 重载BackColor属性和ForeColor属性,使得这两个属性为只读属性
1.3 自定义DrawingMode枚举类型,该枚举类型有3个值,分别为Happy、Sad、Angry
1.4 自定义private作用域的方法SetColors,该方法可以根据DrawMode属性的取值来设置BackColor属性和ForeColor属性的值,并且实现重新绘制控件
1.5 自定义DrawMode属性,该属性为DrawingMode枚举类型
注意:为该属性设置新值时将调用SetColors方法。
1.6 重载OnPaint方法,该方法将使用BackColor填充自定义控件的矩形区(由自定义控件的ClientRectangle属性表示的矩形区)
1.7 重载OnTextChanged方法,该方法实现在自定义控件的Text属性发现变化时重新绘制自定义控件。
2 编写自定义控件的测试程序
2.1 自定义控件的测试程序的界面如图1所示
2.2 单击图1所示的窗体上的各个RadioButton时,将自定义控件的DrawMode属性的值改变为RadioButton的Text属性所指示的值,例如单击Text属性为Happy的RadioButton时,DrawMode属性的值改变为DrawingMode.Happy。
注意:
对RadioButton的CheckedChanged事件编写事件处理程序。


...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hooligan000112003 2004-12-14
  • 打赏
  • 举报
回复
SOS
lucbesson 2004-12-12
  • 打赏
  • 举报
回复
?????????????

hooligan000112003 2004-12-12
  • 打赏
  • 举报
回复
ding

110,533

社区成员

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

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

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