Winform 创建自定义控件:使用2种半透明的颜色来填充Button
2017-04-24 15:54
393 查看
制作一个自定义按钮,使用2种半透明的颜色来填充Button
1.添加一个自定义控件类,并改变基类,继承自Button
2.为控件创建一些自定义属性
4.到这里就完成了。
完整代码:
1.添加一个自定义控件类,并改变基类,继承自Button
publicpartialclassCustomControl1:Button
2.为控件创建一些自定义属性
privateColorcolor1=Color.White;//第一种颜色 publicColorColor1 { get{returncolor1;} set{color1=value;Invalidate();} } privateColorcolor2=Color.Black;//第二种颜色 publicColorColor2 { get{returncolor2;} set{color2=value;Invalidate();} } privateintcolor1Transparent=64;//第一种颜色透明度 publicintColor1Transparent { get{returncolor1Transparent;} set{color1Transparent=value;Invalidate();} } privateintcolor2Transparent=64;//第二种颜色透明度 publicintColor2Transparent { get{returncolor2Transparent;} set{color2Transparent=value;Invalidate();} }
Invalidate()方法用于刷新设计图。 3.重写Paint事件
protectedoverridevoidOnPaint(PaintEventArgspe) { base.OnPaint(pe);//调用基类 //用两种半透明的颜色填充Button Colorc1=Color.FromArgb(color1Transparent,color1); Colorc2=Color.FromArgb(color2Transparent,color2); Brushb=newSystem.Drawing.Drawing2D.LinearGradientBrush(ClientRectangle,c1,c2,10); pe.Graphics.FillRectangle(b,ClientRectangle); b.Dispose(); }
4.到这里就完成了。
完整代码:
usingSystem; usingSystem.Windows.Forms; usingSystem.Drawing; namespacectlCuteButton { publicpartialclassCustomControl1:Button { privateColorcolor1=Color.White;//第一种颜色 publicColorColor1 { get{returncolor1;} set{color1=value;Invalidate();} } privateColorcolor2=Color.Black;//第二种颜色 publicColorColor2 { get{returncolor2;} set{color2=value;Invalidate();} } privateintcolor1Transparent=64;//第一种颜色透明度 publicintColor1Transparent { get{returncolor1Transparent;} set{color1Transparent=value;Invalidate();} } privateintcolor2Transparent=64;//第二种颜色透明度 publicintColor2Transparent { get{returncolor2Transparent;} set{color2Transparent=value;Invalidate();} } publicCustomControl1() { } protectedoverridevoidOnPaint(PaintEventArgspe) { base.OnPaint(pe);//调用基类 //用两种半透明的颜色填充Button Colorc1=Color.FromArgb(color1Transparent,color1); Colorc2=Color.FromArgb(color2Transparent,color2); Brushb=newSystem.Drawing.Drawing2D.LinearGradientBrush(ClientRectangle,c1,c2,10); pe.Graphics.FillRectangle(b,ClientRectangle); b.Dispose(); } } }
相关文章推荐
- iOS 中使用xib创建的控件边框和颜色等设置
- ios 创建自定义UIView作为控件来使用
- 创建一个自定义WebControl控件 WebImageButton的过程
- c#中使用多线程访问winform中控件的若干问题 解决线程间操作无效: 从不是创建控件的线程访问它
- C#如何创建自定义控件以及添加自定义属性和事件使用
- WinForm 编程中控件的使用小技巧(splitter实现窗口分区域,改变Button的形状)
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单。
- NSIS ---使用nsDialogs创建自定义页面,并获取输入到控件中的内容保存到一个XML文档中
- WinForm 编程中控件的使用小技巧(splitter实现窗口分区域,改变Button的形状)
- 手把手教你使用Silverlight实现3D场景二(创建自定义模版控件为物件应用3D动画)
- 使用DEV控件创建Winform主框架(Ribbion)(一)
- Android 创建自定义对话框主题(使用半透明背景也不会露出原有的背景了)
- 使用DEV控件创建Winform主框架(Ribbion)(二)
- Android中使用Tablayout自定义tab不能填充父控件的问题
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 使用系统方法 创建一个 自定义样式的button
- 使用Spread Studio for .NET为控件创建自定义皮肤
- winform 创建自定义控件
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单
- Flex中如何用backgroundDisabledColor样式,自定义TextInput控件在无效状态下填充颜色