winform创建自定义控件

韩梦芫 韩梦芫     2022-10-05     405

关键词:

虽然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

winform自定义控件:imagebutton(转)

原文地址:https://www.codeproject.com/Articles/29010/WinForm-ImageButton 自定义winfrom图片按钮:支持鼠标正常、悬停、按下更改图片,支持文本。首先,创建没有按钮文本的图片,这样的:正常:    悬停:   &nb... 查看详情

需要 C# Winforms 自定义 WebBrowser 控件

】需要C#Winforms自定义WebBrowser控件【英文标题】:C#WinformsCustomWebBrowserControlNeeded【发布时间】:2011-04-2816:10:09【问题描述】:我最近一直在网上搜索一个现有的控件,该控件的作用类似于网络浏览器控件,具有一些我需要的特定... 查看详情

使用自定义 WinForms 控件,我可以更改嵌套控件停靠在里面的矩形吗?

】使用自定义WinForms控件,我可以更改嵌套控件停靠在里面的矩形吗?【英文标题】:WithacustomWinFormscontrol,canIchangetherectanglethatnestedcontrolsdockinside?【发布时间】:2016-02-1719:01:57【问题描述】:我正在尝试创建一个行为类似于GroupBo... 查看详情

c#winform开发(代码片段)

文章目录C#WinForm开发1.创建C#WinForm项目a.进入项目界面b.项目结构c.自定义一个Form2.给控件添加事件3.显示时间小项目4.控件5.几种布局a.FlowLayoutPanel流式布局b.TableLayoutPanel表格布局c.可以自定义控件6.文本框7.CheckBox复选框8.其他的一... 查看详情

winform用户控件动态创建添加控件timer控件控件联动

相当于自定义的一个panel里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加,  将其实例... 查看详情

自定义 Winforms 设计器控件同时缩放和平移控件

】自定义Winforms设计器控件同时缩放和平移控件【英文标题】:ZoomandPancontrolssimultaneouslyforacustomWinformsdesignercontrol【发布时间】:2021-10-1514:59:00【问题描述】:我正在尝试在winforms中创建一个“设计师”。这将向用户呈现一个所见... 查看详情

winform自定义控件中其他遮挡控件点击事件(代码片段)

自定义控件在其他窗口调用时,里面的lable阻挡了控件的点击事件解决方法自定义控件中lable的 点击事件privatevoidLable1_Click(objectsender,EventArgse)base.OnClick(e);//触发控件点击事件  查看详情

添加列的自定义 WinForms DataGridView 问题

】添加列的自定义WinFormsDataGridView问题【英文标题】:CustomWinFormsDataGridViewissueswithaddingcolumns【发布时间】:2010-11-2915:22:18【问题描述】:我正在创建一个继承内置DataGridView控件的自定义winformsdatagridview控件。我的Columns属性有问题... 查看详情

c#winform制作自定义控件

在winform中,我想制作一个自定义的控件,自定义的控件里就一个label控件和一个panel控件,想实现的其实就是一个有标题的panel容器。请问怎么为自定义的控件添加属性和事件,如添加一个Txt属性用来设定label的值。还有一个问题... 查看详情

winform用户窗体

用户控件:相当于自定义的一个panel里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加, ... 查看详情

winform自定义控件基础

1.设置图像和文字以抗锯齿的方式呈现1g.SmoothingMode=SmoothingMode.AntiAlias;2g.TextRenderingHint=TextRenderingHint.AntiAlias; 2.指定区域绘图(常见于OnPaint函数中:g.DrawImage(...))1//参数:2//image:3//要绘制的System.Drawing.Image。4// 查看详情

winform自定义自动完成控件(代码片段)

...,很多优秀的前端框架都会带有自动完成控件,同样的,winform也有,在我们的TextBox和ComboBox中,只需要设置AutoCompleteSource属性为CustomSource,然后将值加入到AutoCompleteCustomSource中就可以了  比如:  string[]dataSource=newstring[]"appl... 查看详情

winform日历控件

 分享一个漂亮的winform自定义控件,做考勤、日程管理、计划最好的自定义控件了,能够添加备注等等。 查看详情

在winform界面使用自定义用户控件及tabelpanel和stackpanel布局控件(代码片段)

...,用户控件同时也可以封装处理一些简单的逻辑。在开发Winform各种类型项目,我都时不时需要定制一些特殊的用户控件,以方便在界面模块中反复使用。我们一般是在自定义的用户控件里面,添加各种各样的界面控件元素,或... 查看详情

wpf使用winform自定义控件(代码片段)

...引用WindowsFormsIntegration.dllSystem.Windows.Forms.dll2、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration... 查看详情

自定义 WinForms ErrorProvider 以在控件条目中显示其图标

】自定义WinFormsErrorProvider以在控件条目中显示其图标【英文标题】:CustomizingWinFormsErrorProvidertodisplayitsiconinsidecontrol\'sentry【发布时间】:2010-11-1103:52:07【问题描述】:我有一些自定义/用户控件,在大多数情况下都有标签和条目... 查看详情

winform自定义控件的使用

  c#的自定义控件还是很方便的,至少相对于c++而言。  1,当然是建立一个windows窗体空间库,我这里就是用vs2015,工程名MyControl  第二步。在自定义空间窗体内,拖放这样一组空间。我们发送编辑框的内容给父窗体,然后... 查看详情

如何让 WinForm 设计器完全忽略自定义控件上的属性?

】如何让WinForm设计器完全忽略自定义控件上的属性?【英文标题】:HowdoIgettheWinFormDesignertototallyignoreapropertyonacustomcontrol?【发布时间】:2011-02-0514:59:06【问题描述】:这一定是常见问题解答,但我找不到重复的问题!有很多不同... 查看详情