我创建了一个窗体,里面有DataGridView,并设置为public。
然后创建窗体2,继承上面的窗体,然后我发现我不能对DataGridView进行修改,设计器的所有属性都是灰色的。还有个控件BindingNavigator也是一样的问题。
有什么解决办法可以让我直接在设计器内进行操作,虽然可以代码改,但那也太麻烦了
我创建了一个窗体,里面有DataGridView,并设置为public。
然后创建窗体2,继承上面的窗体,然后我发现我不能对DataGridView进行修改,设计器的所有属性都是灰色的。还有个控件BindingNavigator也是一样的问题。
有什么解决办法可以让我直接在设计器内进行操作,虽然可以代码改,但那也太麻烦了
该回答引用GPTᴼᴾᴱᴺᴬᴵ
这是因为继承的窗体2并没有将DataGridView和BindingNavigator的访问修饰符设为public,导致无法在设计器中进行修改。
解决方法:
在窗体2的.Designer.cs文件中,将DataGridView和BindingNavigator的访问修饰符改为public。
在窗体2的.cs文件中,添加以下代码,以使设计器中的属性修改可以生效。
public new DataGridView DataGridView1
{
get { return base.DataGridView1; }
set { base.DataGridView1 = value; }
}
public new BindingNavigator BindingNavigator1
{
get { return base.BindingNavigator1; }
set { base.BindingNavigator1 = value; }
}
这样就可以在设计器中修改继承的DataGridView和BindingNavigator控件的属性了。