Я создал сетку свойств с настраиваемым значением массива. Когда пользователь выбирает одно из раскрывающихся меню, я хочу, чтобы он отображал форму. Моя проблема не в том, что он не работает, он не слишком активен и показывает форму примерно 6 раз, несмотря на то, что был объявлен только один раз. Если я выбираю ShowDialog, он отображает форму дважды и при попытке закрыть второй диалог создает еще два экземпляра формы. Ниже приведен код, который я использую. Я не могу понять, что не так.
//Property Grid Type
internal class TransferConnectionPropertyConverter : StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return true;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
return new StandardValuesCollection(new string[] { "", NEW_CONN });
}
}
//Property Grid Node
[Category("Connection"),
Description("Specifies the type of connection for this task.")]
[TypeConverter(typeof(TransferConnectionPropertyConverter))]
public string TransferProtocol
{
get
{
if (stConnectionType == NEW_CONN)
{
ConnectionDetailsForm connDetails = new ConnectionDetailsForm();
connDetails.Show();
}
return stConnectionType;
}
set
{
stConnectionType = value;
}
}