4

我正在使用视觉继承,想知道是否有办法在设计时更改继承控件的属性,最好是在表单设计器中。如果没有,那么在设计器代码中。

我在基类中将控件声明为 Public。我可以在子表单代码中访问它,但不能在表单设计器中访问它。这是不可能的吗?

4

3 回答 3

3

在视觉工作室中存在视觉继承的限制。不幸的是,派生的表单\用户控件不能修改包含基础中的集合的控件,即 DataGridViewRows、ToolStrips、ListViewColumns 等。

微软错误报告

在某些情况下有办法解决这个问题。在基类中创建一个受保护的属性,该属性公开您希望修改的控件的确切属性(DataGridView.BackgroundColor 或 ListView.Columns)。

您的基本表单应该能够访问此属性以更改所需的组件。我已经成功地为 ListView.Columns 和 DataGridView.rows 完成了此操作,但是 ToolStrip.Items 不起作用。

于 2009-06-05T17:27:34.790 回答
2

它似乎只适用于某些控件,但不是全部,我不明白为什么。在我的基本表单上,我有一个 TabControl,其中包含一个 ComboBox、一个 ToolStrip 和一个 DataGridView。它们都设置为 Public,但我只能修改 ComboBox 的属性,而不能修改其他两个控件。

我不知道为什么会这样。

于 2009-03-23T15:15:30.610 回答
-1

您需要更改控件的可见性。将控件属性Modifiers 设置为public 并重新编译项目,然后您可以更改继承控件的属性。

于 2009-03-23T14:38:23.507 回答