我有一个我想通用的功能来显示表单。我希望该函数检查表单是否已经打开,如果没有创建表单的新实例并显示它,则将其带到顶部。
检查表单是否打开的第一部分一切都很好,但我正在从 T 进行强制转换并创建一个类型为 T 的新表单对象。我已经使用这行代码来创建表单的一个实例,obj = Activator.CreateInstance<T>();
但它没有显示所有智能感知中的方法和属性。代码Form x = new Form1.
x
将显示所有方法和属性。
我确定我在这里做错了什么,请为我发光。
private static void ShowForm<T>( )
{
T obj = default( T );
List<T> opened = FormManager.GetListOfOpenForms<T>();
if ( opened.Count == 0 )
{
// not opened
// obj does not show all properties and methods
obj = Activator.CreateInstance<T>();
// x shows all properties and methods
frmLogin x = new frmLogin();
}
else
{
// opened
}
}