欢迎来到天天文库
浏览记录
ID:50407015
大小:65.50 KB
页数:7页
时间:2020-03-05
《颜色主题编辑器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验二.Net平台上窗体程序设计一、实验目的:掌握窗体应用程序的编写与调试方法二、实验内容:1、编写C#.net窗体应用程序,并调试。2、开发一个主题设计器的颜色设置功能部分,详细情况参考附件Debug.rar中的可执行程序演示的功能。3、实验报告要求附上主题设计器颜色设置功能的源代码,及运行效果示意图。三、收获与体会(要求小组成员简要填写在课程实验中遇到的主要问题以及解决方法,并手工签上小组所有成员姓名):实验过程中遇到的问题及解决方法:本次实验我们创建了ColorComboBox和ColorControl两个自定义控件,分别用以实现下拉菜单中可以显示颜色以及控制
2、多路颜色的变化。对于ColorControl控件,使用ChangeColor方法实现统一变更颜色,用一个枚举变量来定义可以更改的内部控件。在外部调用时,只需将其作为参数传入ChangeColor方法即可实现变更颜色。体会:虽然这个程序不难编程但是也让我们发现了自己在编程上的许多问题,以及对一些C#的语法还不够熟悉,但也让我们知道自己的不足,以及自己今后需要进行加强的方面是什么。更让我们体会到了团队合作的精神,以及大家在一起互帮互助,共同解决问题的感觉。相信我们今后也会更加默契,共同学习,共同进步。签名:附加代码usingSystem;usingSystem.Coll
3、ections.Generic;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace主体颜色编辑器{publicclassColorComboBox:ComboBox{privatevoidInitItems(){this.DrawMode=DrawMode.OwnerDrawFixed;//手动绘制所有元素this.DropDownStyle=ComboBoxStyle.DropDow
4、nList;//下拉框样式设置为不能编辑this.Items.Clear();//清空原有项ArrayallColors=Enum.GetValues(typeof(KnownColor));//获取系统颜色名存入列表foreach(KnownColorvarinallColors){this.Items.Add(var.ToString());//加载该选项框的子项}}publicColorComboBox():base(){InitItems();}protectedoverridevoidOnDrawItem(DrawItemEventArgse){if(e.
5、Index>=0)//判断是否需要重绘{stringcolorName=this.Items[e.Index].ToString();//获取颜色名SolidBrushbrush=newSolidBrush(Color.FromName(colorName));//定义画刷Fontfont=newFont("宋体",9);//定义字体Rectanglerect=e.Bounds;rect.Inflate(-2,-2);RectanglerectColor=newRectangle(rect.Location,newSize(20,rect.Height));e.Gr
6、aphics.FillRectangle(brush,rectColor);//填充颜色e.Graphics.DrawRectangle(Pens.Black,rectColor);//绘制边框e.Graphics.DrawString(colorName,font,Brushes.Black,(rect.X+22),rect.Y);//绘制文字}}//////选择的颜色名称///publicstringSelectedColorName{get{returnthis.Text;}}//////选择的颜色///
7、publicColorSelectedColor{get{returnColor.FromName(this.Text);}}}publicpartialclassColorControl:UserControl{publicColorControl(){InitializeComponent();this.labelArea1.BackColor=this.BackColor;this.labelArea2.BackColor=this.BackColor;this.labelArea3.BackColor=this.BackColor;t
此文档下载收益归作者所有