private void AdvPropertyGrid1_ConvertPropertyValueToString(object sender, ConvertValueEventArgs e) { var switchExpr = e.PropertyDescriptor.PropertyType; switch (switchExpr) { case var @case when @case == typeof(bool): if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(e.TypedValue, true, false))) { e.StringValue = "Yes"; } else { e.StringValue = "No"; } e.IsConverted = true; break; case var case1 when case1 == typeof(byte): case var case2 when case2 == typeof(sbyte): case var case3 when case3 == typeof(short): case var case4 when case4 == typeof(ushort): case var case5 when case5 == typeof(int): case var case6 when case6 == typeof(uint): e.StringValue = TextValueConverter.TextFromValue(Conversions.ToLong(e.TypedValue)); e.IsConverted = true; break; } }
void BackImageLayoutConvertPropertyValueToString(object sender, ConvertValueEventArgs e) { // Convert typed value to its text representation if (e.TypedValue == null) { e.StringValue = ""; } else { e.StringValue = _Values[(ImageLayout)e.TypedValue]; } e.IsConverted = true; }
void BackImageLayoutConvertFromStringToPropertyValue(object sender, ConvertValueEventArgs e) { // Convert text representation to the typed value string value = (e.StringValue ?? "").ToLower(); foreach (KeyValuePair <ImageLayout, string> item in _Values) { if (item.Value.ToLower() == value) { e.TypedValue = item.Key; e.IsConverted = true; break; } } }
// Convert typed property value to its text representation private void advPropertyGrid1_ConvertPropertyValueToString(object sender, ConvertValueEventArgs e) { if (e.PropertyDescriptor.PropertyType == typeof(bool)) { if ((bool)e.TypedValue == true) { e.StringValue = Text_Yes; } else { e.StringValue = Text_No; } // Note that you must indicate that you have converted the value e.IsConverted = true; } }
private void AdvPropertyGrid1_ConvertPropertyValueToString(object sender, ConvertValueEventArgs e) { if (!e.IsConverted && !e.PropertyName.StartsWith(bParamPropName)) { var switchExpr = e.PropertyDescriptor.PropertyType; switch (switchExpr) { case var @case when @case == typeof(bool): if (Conversions.ToBoolean(e.TypedValue)) { e.StringValue = "Yes"; } else { e.StringValue = "No"; } e.IsConverted = true; break; case var case1 when case1 == typeof(byte): case var case2 when case2 == typeof(sbyte): case var case3 when case3 == typeof(short): case var case4 when case4 == typeof(ushort): case var case5 when case5 == typeof(int): case var case6 when case6 == typeof(uint): if ((e.PropertyName ?? "") == (behaviorPropName ?? "")) { } else if (LikeOperator.LikeString(e.PropertyName, "Position?", CompareMethod.Binary) || LikeOperator.LikeString(e.PropertyName, "Rotation?", CompareMethod.Binary)) { e.StringValue = Conversions.ToString(e.TypedValue); e.IsConverted = true; } else { e.StringValue = TextValueConverter.TextFromValue(Conversions.ToLong(e.TypedValue)); e.IsConverted = true; } break; } } }
private void AdvPropertyGrid1_ConvertFromStringToPropertyValue(object sender, ConvertValueEventArgs e) { var switchExpr = e.PropertyDescriptor.PropertyType; switch (switchExpr) { case var @case when @case == typeof(bool): { if (e.StringValue == "Yes") { e.TypedValue = true; } else { e.TypedValue = false; } e.IsConverted = true; break; } case var case1 when case1 == typeof(byte): { e.TypedValue = Conversions.ToByte(TextValueConverter.ValueFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case2 when case2 == typeof(sbyte): { e.TypedValue = Conversions.ToSByte(TextValueConverter.ValueFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case3 when case3 == typeof(short): { e.TypedValue = Conversions.ToShort(TextValueConverter.ValueFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case4 when case4 == typeof(ushort): { e.TypedValue = Conversions.ToUShort(TextValueConverter.ValueFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case5 when case5 == typeof(int): { e.TypedValue = Conversions.ToInteger(TextValueConverter.ValueFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case6 when case6 == typeof(uint): { e.TypedValue = Conversions.ToUInteger(TextValueConverter.LongFromText(e.StringValue.Trim())); e.IsConverted = true; break; } case var case7 when case7 == typeof(float): { e.TypedValue = Conversions.ToSingle(e.StringValue.Trim()); e.IsConverted = true; break; } case var case8 when case8 == typeof(double): { e.TypedValue = Conversions.ToDouble(e.StringValue.Trim()); e.IsConverted = true; break; } case var case9 when case9 == typeof(decimal): { e.TypedValue = Conversions.ToDecimal(e.StringValue.Trim()); e.IsConverted = true; break; } } }