测试环境: Win2003 Server + Vs.net2003
简单应用:
自己动手写C#控件

现在开始 step by step

1
首先打个vs.net

2 在“文件”菜单中,指向“新建”,然后选择“项目”以打开“新建项目”对话框。从“C# 项目”列表中选择“Windows 控件库”项目模板,然后在“名 称”框中键入LinearGradientButtonLib,然后点确定。

3 在解决方案资源管理器中,右击 UserControl1.cs,并从快捷菜单中选择“查看代码”。

4 找到 class 语句 public class UserControl1,将 UserControl1 更改为 LinearGradientButton以更改组件的名称。找到构造函数 public UserControl1(),将它更改为 public LinearGradientButton ()。

5 在 Class 语句,将该控件从 System.Windows.Forms.UserControl 继承的类型更改为 System.Windows.Forms.Button。这允许继承的控件继承 Button 控件的所有功能。

6 在解决方案资源管理器中,单击 UserControl1.cs,并在“属性”窗口中,将 FileName 属性更改为LinearGradientButton.cs

先加上名字空间 using System.Drawing.Drawing2D;

public class LinearGradientButton : System.Windows.Forms.Button
 {}下定义控件需要的私有域,代码如下:

自己动手写C#控件private Color froColor; //渐变前景色
自己动手写C#控件
private Color backColor;//渐变背景色
自己动手写C#控件
private bool isUseFloat;//是否使用角度转变
自己动手写C#控件
private float angle;    //放置角度
自己动手写C#控件
private LinearGradientMode mode;//设定渐变的角度
自己动手写C#控件
private HatchStyle hatchStyle;
自己动手写C#控件
//设定文本的填充图案
自己动手写C#控件
private bool isUseStyle;//设定是否用图案填充图案 


下面为每个私有域做对应的属性,代码如下:
自己动手写C#控件[Description("设定按钮渐变的前景色"),Category("Appearance")]
自己动手写C#控件         
public Color FrontColor
自己动手写C#控件
这个控件是实现背景渐变及文字填充,所以override Paint事件以完成自画。
自己动手写C#控件为了完成override,现在以下的准备工作(写几个在Paint事件用的着的事件).


自己动手写C#控件
自己动手写C#控件
//使用角度的方法渐近重画Button
自己动手写C#控件          
private void DrawButtonWithAngle(Graphics dbg)

自己动手写C#控件好了,现在开始重写Paint事件了.
自己动手写C#控件

自己动手写C#控件好了,现在开始重写Paint事件了.
自己动手写C#控件
自己动手写C#控件
protected override void OnPaint(PaintEventArgs pe)
自己动手写C#控件
     }



现在大功告成,进行保存,生成!

创建测试项目 
    
1.        在“文件”菜单上,指向“添加项目”,然后单击“新建项目”以打开“添加新项目”对话框。  
    2.        选择“Visual C# 项目”节点,然后单击“Windows 应用程序”。
    
3.        在“名称”框中键入 MyTest。 
    
4.        在解决方案资源管理器中,右击测试项目的“引用”节点,然后从快捷菜单中选择“添加引用”
         以显示“添加引用”对话框。
    5.        单击标记为“项目”的选项卡。
   
6.        双击 LinearGradientButtonLib 项目,并注意该项目此时出现在“选定的组件”窗格中。 
   
    添加引用后,应将新控件添加到工具箱。如果您的控件已经出现在工具箱中,则应该跳过下一节。

将控件添加到工具箱

1.        点击工具箱,右键Windows窗体,“添加/删除项“,打开“自定义工具箱”。

2.        选择“.NET 框架组件”选项卡并单击“浏览”。浏览到 LinearGradientButtonLib\bin\debug 文件夹并选择 LinearGradientButtonLib.dll。
默认情况下这个文件存放在:
[系统盘:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\MyTest\bin\Debug]
LinearGradientButton 出现在“自定义工具箱”对话框的组件列表中。

3.        在“自定义工具箱”对话框中,单击 LinearGradientButton 旁的框并关闭窗口。
LinearGradientButton 被添加到选定的工具箱的选项卡上。

将控件添加到窗体

1.        在解决方案资源管理器中,右击“Form1.cs”,然后从快捷菜单中选择“视图设计器”。

2.        在工具箱中,向下滚动直到到达标记为 LinearGradientButton 的图标。双击该图标。 窗体上显示一个“LinearGradientButton”。

3.        右击“LinearGradientButton”并从快捷菜单中选择“属性”。

4.        在“属性”窗口中检查该控件的属性。注意,它们与标准按钮公开的属性相同,不同的是多了我们自己加入的一些属性

5.        设定本控件的前景色及背景色,然后可以选择是否填充文字,是使用角度还是使用系统设定值进行渐变角度的变化。

6.        从“调试”菜单中选择“启动”。 出现 Form1。

作者BLOG:http://blog.csdn.net/uncommon

相关文章:

  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
  • 2021-12-09
  • 2021-04-11
猜你喜欢
  • 2021-11-21
  • 2022-12-23
  • 2021-10-15
  • 2021-05-05
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
相关资源
相似解决方案