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

我尝试了以下.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控件”是如何做到在设计器窗口中实时显示图形的?

1个回答

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

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

onlyme_945
onlyme_945 你说的这个方法我试过了。现象是,新建的 UserControl确实是自带了预览效果的(一个空白的方框),把继承关系由UserControl改为其他的控件,比如说Button,预览效果就自动没有了,设计窗口出现了“若要在类中添加组件,请从xxxxxx”的文字提示。所以,这种方法还是不行。
2 年多之前 回复
onlyme_945
onlyme_945 你说的这个方法我试过了。现象是,新建的 UserControl确实是自带了预览效果的(一个空白的方框),把继承关系由UserControl
2 年多之前 回复
onlyme_945
onlyme_945 回复下载互助加群_993-444-96: 第一种方法,我是直接新建的用户控件(也就是usercontrol)文件,第二 第三种方法,我是新建的自定义控件(custom control)文件,然后把继承改为了button之类的类,或者用它默认的继承关系(从control)。虽然不同的方法新建的文件不同,但是它们都自带了.designer.cs文件的,不像是因为缺少了这个文件导致没有预览的。 不过,像你说的,新建一个usercontrol文件,然后改继承为其他的类,这种方法我还没试过,我来试试,看会不会有奇效。 谢谢你的耐心回答。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问