无法直观地更改继承形式的数据网格视图

本文关键字:数据 数据网 视图 网格 继承 直观 | 更新日期: 2023-09-27 18:01:05

我有一个WinForms表单,上面有一个DataGridViewDataGridView设置为 protected

当我继承该窗体时,无法在Visual Studio设计器中更改DataGridView。如果我用Button做整个事情,它会按预期工作。

有没有办法解决这个问题?

一些(剪辑的(代码(来自DatagridForm.Designer.cs(:

partial class DatagridForm {
    protected DataGridView dgData;
    protected Button button;
}

和从继承.cs:

partial class Inherited : DatagridForm {
}

无法直观地更改继承形式的数据网格视图

这个博客有解决方案:只需创建一个继承的用户控件,指向正确的设计器内容:

[Designer(typeof(System.Windows.Forms.Design.ControlDesigner))]
public class ucInheritedDataGridView : DataGridView { }

就像一个魅力。唯一的缺点是不能使用 .NET 客户端配置文件,因为它不支持 System.Forms.Design(必须添加System.Design作为引用(。这应该不是太大的问题,因为客户端配置文件无论如何都会根据 4.5 被弃用。

如果您确实需要客户端配置文件,另一种解决方法是将DataGridView包装在 Panel 中,您可以移动和调整大小。