用C#语言在VisualStudio中自定义控件时,如何在设计器窗口下实时看到预览效果(图形效果)?

用C#语言在VisualStudio中自定义控件时,如何在设计器窗口下实时看到预览效果(图形效果)?

问题描述:

我尝试了以下.NET支持的几种用户自己定义控件的方式:
1、从UserControl类继承(复合控件);
2、从现有控件继承(扩展控件);
3、从Control类继承(自定义控件)

网上的帖子、视频、文档等资料找了一堆,但是有个问题一直没有找到答案,很是困惑,望路过我问题的高手不吝赐教。

问题是这样的:
我用第1种方法从UserControl类继承定义了一个控件,在工程中双击我建立的这个控件的.cs文件,出现的设计器窗口中会有控件当前的图形效果显示出来,像图1中这样图1 继承自UserControl的控件

但是,当我用方法2从.NET现有的控件继承并扩展控件时,我双击相应的.cs文件,设计器窗口中并未出现图1中那样的图形效果(预览效果?),如图2所示图2 继承自.NET现有控件Button

同样,采用方法3直接从Control类继承,完全自己写控件,设计器窗口中也未出现“预览效果”,如图3所示图片说明

请问,在用方法2、方法3定义控件时,如何让设计器窗口可以显示控件的图形外观?

或者说 “UserControl控件”是如何做到在设计器窗口中实时显示图形的?

要想出现预览,必须要有 designer.cs 文件,设计器只认这个

所以你需要新建一个 UserControl,然后再修改它的继承关系(默认是UserControl),修改为某个别的控件。