重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
把你的控件 继承Panel类,而不要集成UserControl类。
成都创新互联公司成立与2013年,先为文圣等服务建站,文圣等地企业,进行企业商务咨询服务。为文圣企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
你可以在集成Panel后,往Panel里面加一些你自己的方法或Control来实现你需要的功能。向里面拖控件的功能则由Panel来控制,你自己就不用管了。
在继承类中添加了空的事件过程,估计也会调用基类事件过程的,也就是两个事件过程都会被调用。可以试试在继承类构造函数中用 RemoveHandler 语句能不能撤销基类的事件过程的绑定。
另外一般的过程可以用override关键字隐藏基类的同名方法,比如基类调用的方法被继承类override重写后,就会调用继承类的方法了。所以可以把事件处理代码放在一普通过程中,由事件过程调用,这样继承类可以用空的同名方法覆盖基类方法了。
重新生成,控件工具栏,会出现【解决方案名称】组件,如hb_test组件,里面有当前解决方案自定义的控件,如果没有,以下方法可以使控件在编辑状态出现在窗体上。
打开form1.designer。vb
在Partial Class Form1类中的最后添加:
Friend WithEvents MergeColumn1 As WindowsApplication1.MergeColumn’定义控件的全局变量
找到public sub InitializeComponent过程,在里面添加:
Me.MergeColumn1 = New WindowsApplication1.Datavip()‘初始化。
Me.MergeColumn1.Location = New System.Drawing.Point(0, 0)‘控件在窗体中的位置。
Me.daMergeColumn1ame = "daMergeColumn1"’控件名
Me.MergeColumn1.Size = New System.Drawing.Size(140, 150)‘必需,控件大小。
Me.MergeColumn1.TabIndex = 0’
Me.Controls.Add(Me.daMergeColumn1)‘必需,将控件添加到窗体。
与使用System.Windows.Forms命名空间中的控件的用法没有区别。
首先添加引用。
其次导入(Imports)命名空间。
接着就可以使用了:
1、要使用用户控件的实例成员,就先创建一个用户控件的实例,再通过实例名.实例成员名访问;
2、要使用用户控件的共享(Shared)成员,通过用户控件类名.共享成员名访问。
如果你问的是怎样创建自己的用户控件类:
1、继承类System.Windows.Forms.UserControl;
2、继承任何一个已经存在的控件类(只要这个控件类不是NotInheritable的就行)。
记得VB6当中有Shape控件,但是VB.net里这个控件不存在了。
提个思路:使用Picture控件或Label控件,通过代码在控件里绘图想要的图形,可以试试。