PropertyGrid清除一个值

时间:2012-06-15 16:10:34

标签: c# .net winforms propertygrid

我有一个属性网格,其中包含空值。值是可选的。如果用户意外地在其中一个属性中输入数据并将其清除,则网格不允许他们清除它。例如,如果属性的类型为uint32,则它需要uint32范围内的某些内容。如何让网格接受值为空?

1 个答案:

答案 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;
  }
}