初级问题,帮我写成一个函数。应该很简单(50分)

  • 主题发起人 主题发起人 Dinky
  • 开始时间 开始时间
D

Dinky

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi里是这样写的
procedure TFMainForm.CreateChildForm(InstanceClass: TComponentClass;
var Reference);
var
TmpForm: TForm;
begin
Application.CreateForm(InstanceClass, Reference);
TmpForm := TForm(Reference);
TmpForm.BorderStyle := bsNone;
TmpForm.Show;
end;

我建立Form1的时候就通过CreateChildForm(TForm1,Form1)建立Form1
CreateChildForm(TForm2,Form2)建立Form2

在C#里我也想把下面这段定义成一个函数实现Delphi里CreateChildForm的相应的功能
建立一个建立子窗体的一段公共函数。
Form1 TmpForm=new Form1();
TmpForm.Parent=this;
TmpForm.show
怎么样把这段代码变成一个函数
想建立Form2的时候把参数定义为Form2就好了
 
c#没用过
 
:),转吧,兄弟!C#应该不错。
 
没人会吗?
 
当然,C#更简单:
public Form CreateChildForm(Type FormClass)
{
if (FormClass.IsSubclassOf(Form)) {
Form form = Activator.CreateInstance(FormClass);
form.Parent = this;
form.Show();
return form;
}
throw new Exception("用法错误,类不是继承自Form");
}
调用:
CreateChildForm(typeof(Form2))
你还没有理解.net的反射,需要继续努力学习呀!
 
这个问题早已经解决了,在等人进来拿分。呵呵!
 
后退
顶部