To reproduce, use the following class: public class NullableDummy { public bool? Bool { get; set; } public byte? Byte { get; set; } public char? Char { get; set; } public decimal? Decimal { get; set; } public float? Float { get; set; } public int? Int { get; set; } public long? Long { get; set; } public sbyte? Sbyte { get; set; } public short? Short { get; set; } public string String { get; set; } public ulong? Ulong { get; set; } public ushort? Ushort{ get; set; } } And set it as a selected object of the property grid: NullableDummy dummy = new NullableDummy(); this.propertyGrid.SelectedObject = dummy; Change the Byte Property you will see that the value is not being set.