加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Visual Studio – 可以将控件添加到设计器中基于面板的用

发布时间:2020-12-15 22:00:37 所属栏目:百科 来源:网络整理
导读:参见英文答案 How to enable design support in a custom control?????????????????????????????????????1个 Visual Studio 2010的新功能,但使用其他平台进行Windows开发已超过10年.我已经在其他平台上完成了以下操作,例如Visual FoxPro,但它似乎不适用于VS
参见英文答案 > How to enable design support in a custom control?????????????????????????????????????1个
Visual Studio 2010的新功能,但使用其他平台进行Windows开发已超过10年.我已经在其他平台上完成了以下操作,例如Visual FoxPro,但它似乎不适用于VS …

我创建了一个用户控件,其中包含一个包含几个标签和几个按钮的面板.当我创建一个新表单(WinForm)并将此用户控件放到表单上时,我无法向该面板添加其他控件.用户控件在文档大纲中显示为单个项目(紫色齿轮图标),无法访问面板或面板中包含的控件.

这是否是对用户控件的不当使用?在这个应用程序中,我将有许多面板,其中包含相同的按钮和标签以及其他控件的独特组合.使用户控件提供面板并包含常用的控件似乎很自然,然后只需插入设计器中面板的各种实例所独有的控件.如果我必须从基本控件构建设计器中的所有面板,我会,但我希望使用看似明显的OOP过程.

解决方法

如果您不是从UserControl继承而是从Panel继承您的控件仍然是一个Panel,您可以在其上添加子控件.

注意事项:

1)控件本身添加的子控件被许多Panel方法和getter视为子控件(它们不会自动隐藏).我从没试过这个.但是从子类化表单中继承Form和派生用户表单可以正常工作.并且WinForms Designer优雅地将继承的子元素显示为不可修改的元素.

2)在Panel派生类中,首选覆盖OnXxx()方法对Panel事件执行内部操作,而不是将处理程序附加到Xxx事件:这将允许您通过在附加处理程序之前或之后放置代码来决定是否应在附加处理程序之前或之后执行对base.OnXxx的调用(发件人,e);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读