用C#语言在VisualStudio中自定义控件时,如何在设计器窗口下实时看到预览效果(图形效果)?
问题描述:
我尝试了以下.NET支持的几种用户自己定义控件的方式:
1、从UserControl类继承(复合控件);
2、从现有控件继承(扩展控件);
3、从Control类继承(自定义控件)
网上的帖子、视频、文档等资料找了一堆,但是有个问题一直没有找到答案,很是困惑,望路过我问题的高手不吝赐教。
问题是这样的:
我用第1种方法从UserControl类继承定义了一个控件,在工程中双击我建立的这个控件的.cs文件,出现的设计器窗口中会有控件当前的图形效果显示出来,像图1中这样
但是,当我用方法2从.NET现有的控件继承并扩展控件时,我双击相应的.cs文件,设计器窗口中并未出现图1中那样的图形效果(预览效果?),如图2所示
同样,采用方法3直接从Control类继承,完全自己写控件,设计器窗口中也未出现“预览效果”,如图3所示
请问,在用方法2、方法3定义控件时,如何让设计器窗口可以显示控件的图形外观?
或者说 “UserControl控件”是如何做到在设计器窗口中实时显示图形的?
答
要想出现预览,必须要有 designer.cs 文件,设计器只认这个
所以你需要新建一个 UserControl,然后再修改它的继承关系(默认是UserControl),修改为某个别的控件。