C# control_base Note I

来源:互联网 发布:淘宝全球购入口 编辑:程序博客网 时间:2024/03/29 22:48

------------------------
自定义控件属性

ToolboxItem

工具栏中是否显示控件

[ToolboxItem(false)]
public class MyPanel : UserControl
ToolboxBitmap

设置控件图标
[ToolboxBitmap(typeof(System.Windows.Forms.Panel))]
public class MyPanel : UserControl

Category与Description
[Category("Appearance"), Description("阴影色")]
public System.Drawing.Color ShadowColor { get { …} set { …} }
这两个是经常都会写在一起的属性,Category表示类型,如属性框中所显示的外观,布局等,当然,你可以自己写一个,叫“自定义属性”,而Description就是这个属性的描述,用来说明属性有什么用途。这两个的设置相对都比较简单,可以说,一看就知道,不过提一下,Appearance是特殊的词,在属性面板中,它就是外观一栏。

DefaultValue

用于设置默认的值
[DefaultValue(typeof(Color), "DarkGray")]
public System.Drawing.Color ShadowColor { get { …} set { …} }

Browsable
表示,是否在属性面板中显示这个属性
[Browsable(true)]
表示,将在属性面板中显示这个属性。

DesignerSerializationVisibility
表示,是否在*.Designer.cs文件中将设置的代码写出来,也就是是否要实现序列化
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
表示需要实现序列化。

 

 





------------------------

★以编程方式调用按钮的 Click 事件 (Visual C#)
     即使用户不单击按钮,您也可以使用 PerformClick 方法以编程方式引发按钮的 Click 事件。以下示例演示如何在程序内调用按钮的 click 事件。当单击 button2 时,button1 的 click 事件也被触发。

     当然也可以直接调用事件处理函数,button_click(null,null); 但是使用PerformClick 好处,能在继承窗体可以在未显示声明click事件时调用click事件处理函数

--------------------
★自定义鼠标光标形状: 加载Cur格式文件

Cursor Cursor = new Cursor("a.cur");

------------------------