onlyme_945 2018-04-20 12:24 采纳率: 100%
浏览 2664
已采纳

用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控件”是如何做到在设计器窗口中实时显示图形的?

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-04-20 15:32
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号