1

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

4

1 回答 1

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;
  }
}
于 2012-06-16T20:21:48.917 回答