首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridView环境下的C# Winforms可视化继承问题

问DataGridView环境下的C# Winforms可视化继承问题
EN

Stack Overflow用户
提问于 2010-10-22 23:23:06
回答 3查看 3.1K关注 0票数 2

我从here创建了一个BaseForm,然后将它的所有BaseForm.Designer.cs private成员都设置为protected。然后有了一个可视化继承/派生的Form。

现在,我可以在设计时调整或修改派生的Form中除DataGridView之外的所有控件的大小。我发现DataGridView在派生的Form中是锁定的,即使它没有在BaseForm中锁定。

可能的原因是什么?我应该再看/检查什么?

我有一个像这样的基本表单:

​

我得到了一个类似这样的形式:

​

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-22 23:37:27

我猜VS设计器会锁定来自基类的控件。因为您有相同的初始化代码,所以您将在基类中更改网格的属性,这会影响所有其他派生窗体。

如果您想要更改网格的属性,我建议对子窗体使用单独的网格,因为它应该有不同的行为。

票数 0
EN

Stack Overflow用户

发布于 2013-11-27 17:38:42

这是一个众所周知的问题..

https://connect.microsoft.com/VisualStudio/feedback/details/284335/designer-prevents-access-to-protected-datagridview-control-in-inherited-form

您可以创建用户控件类并从DataGridView类派生

代码语言:javascript
复制
[Designer(typeof(System.Windows.Forms.Design.ControlDesigner))]
public class MyDataGridViewUserControl : DataGridView { }
票数 1
EN

Stack Overflow用户

发布于 2013-11-27 17:28:46

这似乎是一些.NET控件的问题。这里有一个很好的写法:

DataGridView locked on a inherited UserControl

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3998314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档