方法一:组合法
说明:将系统提供的多个控件组合成一个控件使用。
例如:将ListBox和TextBox组合成一个自定义控件MyDemoControl
步骤:
1,在项目中添加“用户控件”,查看代码可以父类为UserControl;
2,为控件设计“界面”;
3,为控件编程,添加自定义属性等;
4,为控件编程,添加方法(Public)
调试:
1,保存,重新生成项目;
2,在工具栏中,能看到当前项目自定义的组件,其中包括自定义控件MyDemoControl;
3,拖动到窗口;
方法二:派生法
说明:以系统的某个控件为父类,派生一个新控件。
例如:以Button类作为父类,设计一个自定义控件MyButton(可以设置提示文本的按钮)
步骤:
1,在项目中添加“自定义控件”,类名MyButton,父类为Button;
2,为控件编程,添加自定义属性等;
3,为控件编程,添加方法(Public);
4,注意,此控件在设计视图窗口不可见;
调试:
1,保存,重新生成项目;
2,在工具栏中,能看到当前项目自定义的组件,其中包括自定义控件MyButton;
3,拖动到窗口;
有关代码:
public partial class MyButton : Button
{
private ToolTip _toolTip; //内置ToolTip控件
private string _TipsString;
[DefaultValue(null)]
[Description("提示消息"), Category("杂项")]
[Browsable(true)] //在属性窗口可见
public string TipsText
{
get { return this._TipsString; }
set
{
this._TipsString = value;
_toolTip.SetToolTip(this, _TipsString);
}
}
public MyButton()
{
InitializeComponent();
_toolTip = new ToolTip();
this._toolTip.InitialDelay = 0;
this._toolTip.ReshowDelay = 0;
this._toolTip.SetToolTip(this, _TipsString);
}
public void SetTip(string tips)
{
if (tips != null)
{
this._TipsString = tips;
this._toolTip.SetToolTip(this, _TipsString);
}
}
}
方法三:第三方控件(拿来主义)
说明:搜索别人提供的第三方控件(dll文件),按说明安装使用。
例如:SideBar,侧边栏控件
步骤:
1,在项目中添加“引用”,按提示操作;
2,在工具箱可见该控件,拖动到窗口中;
3,为控件编程;
调试:
1,保存,重新生成项目;
2,观察运行效果;
转载自:http://scaucs.net/Student/ShowTopic?homeworkID=61133