.NET Framework 为您提供了开发和实现新控件的能力。除了常见的用户控件外,现在您会发现,您可以编写能执行自身绘图的自定义控件,甚至还可以通过继承扩展现有控件的功能。确定创建何种类型的控件可能会费一番功夫。本节重点介绍了各类可继承控件间的区别,同时提供关系到为项目选择的类型的注意事项。
1、 Component Class

Component Class可以从任何现有的 Windows 窗体控件继承产生新的控件。此方法使您得以保留 Windows
窗体控件所有固有功能,然后通过添加自定义属性、方法或其他功能扩展此固有功能。例如,可以创建一个从 TextBox
继承的控件,该控件只接受数字并能自动将输入转换为值。这样的控件可能包含验证代码,每当文本框中的文本发生更改时就会调用此代码,另外,控件还可能有一个附加的“值”属性。在某些控件中,也可以通过重写基类的
OnPaint 方法将自定义外观添加到控件的图形接口上。

处于下列情况时继承 Windows 窗体控件:

大多数所需的功能已经与现有的 Windows 窗体控件相同。
不需要自定义图形接口,或者想为现有控件设计一个新的图形前端。
2、User
Control

用户控件是封装在公共容器内的 Windows 窗体控件的集合。此容器包含与每个 Windows
窗体控件相关联的所有固有功能,允许您有选择地公开和绑定它们的属性。用户控件的例子之一可能是已生成的显示数据库中客户地址数据的控件。该控件可能包括几个用来显示字段的文本框,几个用来通过记录定位的按钮
(Button) 控件。可以有选择地公开数据绑定属性,可以将整个控件打包并在应用程序之间重复使用。

处于下列情况时使用 UserControl :

要将若干个 Windows 窗体控件的功能合成一个可重新使用的单元。
3、 Custom Control

Custom Control是通过从 Control 继承来完全从头地创建一个控件。Control
类提供控件(例如事件)所需的所有基本功能,但不提供控件特定的功能或图形接口。与通过从用户控件或现有 Windows 窗体控件继承来创建控件相比,通过从
Control 类继承来创建控件需要耗费的心思和精力要多得多。因为作者必须为控件的 OnPaint
事件编写代码以及所需的任何功能特定代码,但同时也允许作者根据自己的需要,灵活地自定义调整控件。时钟控件即是一个自定义控件,它复制模拟时钟的外观和操作,自定义绘图将被调用来促使时钟指针走动,以响应内部计时器组件的
Tick 事件。

处于下列情况时使用Custom Control:

想要提供控件的自定义图形化表示形式。
需要实现无法从标准控件获得的自定义功能。

VS中Component Class、User Control及Custom Control的区别 .的更多相关文章

  1. WPF中的Generic.xaml, theme以及custom control

    原文:WPF中的Generic.xaml, theme以及custom control 在Visual Studio中创建自定义控件时,所有控件都将添加到/Themes/Generic.xaml. 最 ...

  2. WinForm中Component Class、User Control及Custom Control的区别和使用建议

    reference: http://blog.csdn.net/redstonehe/article/details/1536549 .NET Framework 为您提供了开发和实现新控件的能力.除 ...

  3. WinForm中Component Class、User Control及Custom Control的区别和使用-转

    转http://www.cnblogs.com/jhtchina/archive/2010/11/28/1028591.html NET Framework 为您提供了开发和实现新控件的能力.除了常见 ...

  4. WinForm中Component Class、User Control及Custom Control的区别和使用

    NET Framework 为您提供了开发和实现新控件的能力.除了常见的用户控件外,现在您会发现,您可以编写能执行自身绘图的自定义控件,甚至还可以通过继承扩展现有控件的功 能.确定创建何种类型的控件可 ...

  5. Developing your first FNC custom control

    Friday, May 13, 2016 Some weeks ago, we released the TMS FNC UI Pack, a set of Framework Neutral Com ...

  6. Oracle Applications Multiple Organizations Access Control for Custom Code

    档 ID 420787.1 White Paper Oracle Applications Multiple Organizations Access Control for Custom Code ...

  7. Writing a Reusable Custom Control in WPF

    In my previous post, I have already defined how you can inherit from an existing control and define ...

  8. ClassLibary和WPF User Control LIbary和WPF Custom Control Libary的异同

    说来惭愧,接触WPF这么长时间了,今天在写自定义控件时遇到一个问题:运行界面中并没有显示自定义控件,经调试发现原来没有加载Themes中的Generic.xaml. 可是为什么在其他solution中 ...

  9. .NET Core学习笔记(2)—— WPF使用UWP Custom Control

    自.NET Core 3.0开始,某软加入了对WPF的支持.同时对XAML Islands也做了进一步加强.在.NET Core 3.0之前,我们只能在WPF程序中,通过两种方式有限制地使用Stand ...

随机推荐

  1. IIS 发布双证书

    1.端口都用443 2.配置主机名 3.勾选需要服务器名称指示

  2. JS中 this 的四种用法

    1.在一般函数中使用 this 指全局对象 window function fn(){ this.x = 1 } fn(); //相当于window.fn() 2.作为对象方法使用 this 指该对象 ...

  3. Codeforces 898 C.Phone Numbers-STL(map+set+vector)

    C. Phone Numbers   time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. Nowcoder Girl 参考题解【待写】

    [官方题解]:https://www.nowcoder.com/discuss/65411?toCommentId=1134823 [题目链接]:https://www.nowcoder.com/te ...

  5. Hrbust 2319 Number Game(贪心)

    题目链接  Hrbust 2319 首先把二元组排序,$ai$大的排前面,$ai$相同的$bi$大的排前面. 这样的话就满足了Kim的取数顺序,即选每次$ai$最大的. 考虑得坏一些,在$ai$相同的 ...

  6. QUICK START GIT

    install git at you laptop https://git-scm.com/downloads config git at you laptop git config --global ...

  7. codevs——1048 石子归并 (区间DP)

    时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解       题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并 ...

  8. POJ 1067 取石子游戏 [博弈]

    题意:威佐夫博弈. 思路:看了很多证明都没看懂.最后决定就记住结论好了. 对于所有的奇异局面(必败局),有通项公式 Pi = (a, b), (a = i * [(sqrt(5) + 1) / 2], ...

  9. linux svn co 重新迁出

    在linux环境下,使用svn co (即svn checkout) 报svn: Authorization failed错误, 使用svn co svn://localhost/temp.cc /d ...

  10. http各类攻击及tcpcopy工具

    1.专业的还得ixia.Spirent TestCenter等软硬件一体的 2.一般的使用软件的,安装在linux上使用 参考: 1.http://blog.csdn.net/wuzhimang/ar ...