编程社区 » C#编程 » [求助]做8出这个题目

[求助]做8出这个题目


hooligan000112003



 发表:

[求助]做8出这个题目


题目在:
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事件编写事件处理程序。





hooligan000112003
回复:

ding

lucbesson
回复:

?????????????

hooligan000112003
回复:

SOS


相关文章
什么是键?
指定默认打印机时出错,请教各位高人?
mediaplayer控件在播放前等待时间过长的原因
c#的一个类型转换的问题[给分哦]
一个小小问题关于窗体程序(在线等)
百分求rasional rose破解版下载
如何捕获可执行程序执行的事件?
C#的代码如何在VB中运行呀?
关于自定义 WebControl 使用 ViewState 的问题
请教一个用PICTUREbox显示数据库的图片,有什么方法比较好,当按下一条或上一条记录时能很好的显示?
请大家帮忙,怎么对比两个文件之间的差异
关于.net的安装和部署项目
热门文章
DataGridView如何保存编辑后的行到数据库?
简单问题:combobox 如何把选中的项的value值传到textbox中
如何读取Excel文件中有数据的单元格的行数? (注mysheet.UsedRange.Columns.Count 函数不是非常准确)
c#中,MSChart 如何引用操作!!
子窗体如何调用父窗体的函数和变量,
C#怎样访问Access数据库中的OLE对象类型-----急,请高手帮忙
请教 怎样用C#修改Word的页眉页脚
c# winform datagrieview 编辑添加列进添加的DataGridViewButtonColumn 找不到点击事件?那有?
web中当子窗口弹出后,如何使鼠标点击父窗口上无效?(非模式)
请问我在C#中怎么调用水晶报表,我的水晶报表是11的
如何获取Udp远程主机的信息
C#中如何判断标点符号

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex