请考虑以下情况:
DataGridView
的{{1}}继承的新自定义控件。MyDataGridView
。MyDataGridView
自定义控件的AllowUserToAddRows
属性更改为MyDataGridView
。false
实例。MyDataGridView
个实例的AllowUserToAddRows
属性更改为MyDataGridView
。我期望会发生什么:我的实例应该允许用户添加行。它没有。我运行构建时,实例的属性将重置为true
定义中设置的值。
所以我显然做错了。怎么做对了?
我希望MyDataGridView
为属性设置一组不同于标准MyDataGridView
的默认值,但这些属性应该仍然可以在应用程序的设计器中编辑。实现这一目标最直接的意思是什么?
答案 0 :(得分:0)
好的,这是实现这一目标的一种方式,但这太可怕了!我还在寻找一种更简单的方法:
using System.ComponentModel;
using System.Windows.Forms;
namespace Test {
public partial class MyDataGridView : DataGridView {
bool _AllowUserToAddRows;
[Category("Behavior")]
[Description("Value indicating whether the option to add rows is displayed to the user")]
[DefaultValue(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public new bool AllowUserToAddRows {
get { return _AllowUserToAddRows; }
set { base.AllowUserToAddRows = _AllowUserToAddRows = value; } }
}
}