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

c# – Designer不为子控件的属性生成代码.为什么?

发布时间:2020-12-15 08:16:14 所属栏目:百科 来源:网络整理
导读:我创建了SubCtrl继承UserControl.它没有代码. 然后我创建了Ctrl,它也继承了UserControl.它有一个SubCtrl,它唯一的代码意味着公开它,所以它出现在Ctrl的属性列表中: public subctrl.SubCtrl SUBCTRL{ get { return this.subCtrl1; }} 然后我创建了一个简单的
我创建了SubCtrl继承UserControl.它没有代码.
然后我创建了Ctrl,它也继承了UserControl.它有一个SubCtrl,它唯一的代码意味着公开它,所以它出现在Ctrl的属性列表中:
public subctrl.SubCtrl SUBCTRL
{
    get { return this.subCtrl1; }
}

然后我创建了一个简单的Form项目,其中只有一个Ctrl而没有代码.
如我所愿,SUBCTRL出现在Ctrl的属性列表中,所以我可以改变一些事情.我更改了背景颜色(例如,更改为红色),并且设计器中的子控件变为红色.

但奇怪的是,当我运行项目时,它又回到了标准灰色.似乎在Form1.Designer.cs中没有生成代码来将SUBCTRL的背面颜色更改为红色.如果我手工编写,它可以工作,但这不是我想要的.显然应该是自动的.

另一方面,Ctrl表现正常.代码生成,一切都很愉快.

子控制有什么问题?

解决方法

将[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]添加到属性中.

(编辑:李大同)

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

    推荐文章
      热点阅读