我找不到办法如何做到这一点。我认为它需要是不同控制的孩子?
答案 0 :(得分:2)
您可以将其添加到空表单中,如果您使用设计器,这很简单。假设您不想使用设计器,您仍然可以使用代码执行此操作。类似的东西:
MyUserControl control = new MyUserControl();
Form containerForm = new Form();
containerForm.ClientSize = control.Size;
containerForm.Controls.Add(control);
control.Dock = DockStyle.Fill;
containerForm.Show();
答案 1 :(得分:1)
new MyUserControl().ShowInForm();
new MyUserControl().ShowInForm((frm)=>{
frm.Text = "My user control";
});
public static class MyExtensions {
public static void ShowInForm(this Control ctl) {
ShowInForm(ctl, (Action<Form>)null);
}
public static void ShowInForm(this Control ctl, Action<Form> initFormAction) {
// removes control from previous container
ctl.Parent = null;
var frm = new Form();
frm.ClientSize = ctl.Size;
ctl.Dock = DockStyle.Fill;
frm.Controls.Add(ctl);
frm.Show();
}
}
您还可以在对话框窗口和其他任何变体中创建展示的扩展方法。