onlyme_945
onlyme_945
采纳率100%
2018-04-20 12:24

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

10
  • c#
已采纳

我尝试了以下.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条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 3年前

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

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

    点赞 评论 复制链接分享