WinForm创建自定义控件

虽然VS为我们提供了很多控件可以使用,但有时候这些控件仍然不能满足我们的要求,比如我们要对部分控件进行一些个性化的定制,例如美化控件,这时候就需要自己绘制控件,或是在原有控件的基础上进行修改

自定义控件分为三种

  1、组合控件(CompositeControls):在原有控件的基础上根据需要进行组合

  2、扩展控件(ExtendedControls):继承自原有控件,添加一些新的属性和方法,绘制一些新元素

  3、自定义控件(CustomControls):控件的绘制全部由用户定义

1、组合控件

  新建项目,拖入需要的控件,就像在窗体一样

  编译生成,可以查看控件的外观

  在生成的目录可以找到相应的控件库文件CompositeControl.dll

  这样组合控件的dll就做好了,用法后面再讲

2、扩展控件

  首先,添加一个类库

  引用两个命名空间 System.Drawing 和 System.Windows.Forms ,类改名为为ButtonEx,继承自Button

  注意,扩展控件编译生成后并不能调用可视化工具查看,只生成了dll文件,需要引入到项目中使用才能看到

3、自定义控件

  自定义控件添加方法跟扩展控件一样,只是最后类是继承自Control类的

接下来是把控件库引入到项目中使用

  如果项目和控件库项目在同一解决方案中的话,控件会自动引入到工具箱

  如果在不同项目中

  浏览 选择库文件,然后将该控件打钩

  将控件拖到窗体中

摘自http://www.cnblogs.com/bomo/archive/2012/12/09/2810559.html

时间: 2024-07-31 02:33:26

WinForm创建自定义控件的相关文章

winform制作自定义控件(入门)

原文链接:http://blog.csdn.net/bychentufeiyang/article/details/7081402   与原文基本一致,只是例子变成VS2012环境,语言采用博主常用的VB.NET 一 .概述Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端 Windows 应用程序.“Windows 窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构.可以组合现有控件.扩展现有控件或创作自己的自定义控件.Windows 窗体控件是从

winform制作自定义控件

一 .概述Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端 Windows 应用程序.“Windows 窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构.可以组合现有控件.扩展现有控件或创作自己的自定义控件.Windows 窗体控件是从 System.Windows.Forms.Control 直接或间接派生的类.以下列表描述了开发 Windows 窗体控件的常见方案: ·  组合现有控件来创作一个复合控件. 复合控件封装有一个可以作为控件重复使

android:创建自定义控件

在前面两节我们已经学习了 Android 中的一些常见控件以及基本布局的用法,不过当时 我们并没有关注这些控件和布局的继承结构,现在是时候应该看一下了,如图 3.26 所示. 图   3.26 可以看到,我们所用的所有控件都是直接或间接继承自 View 的,所用的所有布局都是 直接或间接继承自 ViewGroup 的.View 是 Android 中一种最基本的 UI 组件,它可以在屏幕 上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是 在 View 的基础之上又

android学习七(创建自定义控件)

前面学习的是android的基本控件和布局的使用,但是基本的控件和布局有时候并不能实现复杂的布局.我们来看下各种控件和布局的关系. 可见所有的控件都是直接或者间接的继承自View的,所有的布局都是直接或者间接基础自ViewGroup的.View是Android中一种最基本的UI组件,它可以在屏幕的上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在View的基础上又添加了各种各自特有的功能.而ViewGroup则是一种特殊的View,它可以包含很多的View和子Vi

android嵌入式布局并创建自定义控件

一.如何在android中嵌入布局文件: 新建一个布局title.xml,该文件为公共文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@draw

winform创建快捷方式

/// <summary> /// 创建快捷方式 /// </summary> public class Lnk { /// <summary> /// 创建快捷方式的方法 /// </summary> /// <param name="FolderPath">快捷方式存放的位置</param> /// <param name="PathLink">指向连接的文件</param

创建自定义控件

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000; min-height: 13.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvet

Andriod - 创建自定义控件

控件和布局的继承结构: 可以看到,我们所用的所有控件都是直接或间接继承自 View的,所用的所有布局都是直接或间接继承自 ViewGroup 的.View 是 Android 中一种最基本的 UI 组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在 View的基础之上又添加了各自特有的功能.而 ViewGroup 则是一种特殊的 View,它可以包含很多的子 View 和子 ViewGroup,是一个用于放置控件和布局的容器.这个时候我们就可以思

duilib开发基础:创建自定义控件的过程

转载请说明原出处,谢谢~·http://blog.csdn.net/zhuhongshu/article/details/45362751 用Duilib开发界面时,很多情况下库自带的控件不满足需求,就需要基于Duilib建立自定义控件(自绘新的控件,或者用来封装win32的子窗体,来显示视频.网页等). 在群里经常会有刚接触Duilib的朋友问题怎么建立自己的自定义控件,或者建立的控件无法正常创建出来.我简单写一篇博客,把创建自定义控件的完整过程,和一些注意事项说明一下.另外说一下如果把win