我有一个属性网格,其中包含空值。值是可选的。如果用户意外地在其中一个属性中输入数据并将其清除,则网格不允许他们清除它。例如,如果属性的类型为uint32,则它需要uint32范围内的某些内容。如何让网格接受值为空?
答案 0 :(得分:2)
您可以使用可空类型声明属性(例如int?
)
使propertygrid接受空值。可空类型
表示基础数据类型的范围加上空值。
这是一个使用可空int:
的小例子// Your class for which the property grid should display properties
public class YourClass
{
public int? MyIntValue // Nullable int
{
get;set;
}
public string MyStringValue
{
get;set;
}
}
public partial class Form1 : Form
{
private YourClass yourClass;
// In your winform
private void Form1_Load(object sender, EventArgs e)
{
yourClass = new YourClass();
// Set selected object
propertyGrid1.SelectedObject = yourClass;
}
}