カスタム配列値を持つプロパティ グリッドを作成しました。ユーザーがドロップダウンの 1 つを選択すると、フォームが表示されます。私の問題は、それが機能しないことではありません.1回しか宣言されていないにもかかわらず、アクティブになりすぎてフォームが約6回表示されるわけではありません。ShowDialog を選択すると、フォームが 2 回表示され、2 番目のダイアログを閉じようとすると、フォームの別の 2 つのインスタンスが作成されます。以下は私が使用しているコードです。何が悪いのかわかりません。
//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;
}
}