C#之如何把子窗体嵌入到主窗体中显示
今天总结一下把子窗体嵌入到主窗体中显示的方法。当你点击一个Button显示子窗体时,往往子窗体都是单独弹出,而如果想要子窗体直接在主窗体上显示,这就需要将子窗体嵌入到主窗体中,方法如下:
//在主窗体中实例化要显示的子窗体
private ChildForm cForm;
public MainForm()
{
InitializeComponent();
cForm = new ChildForm (this);
}
//打开子窗体的方法
private void OpenChildForm(Form chidForm)
{
if (currentChildForm != null)
{
currentChildForm.Close();
}
currentChildForm = chidForm;
chidForm.TopLevel = false;
chidForm.FormBorderStyle = FormBorderStyle.None;//让窗体无边界
chidForm.Dock = DockStyle.Fill;
//在主窗体中添加一个Panel控件用来放置子窗体
panelDesktop.Controls.Add(chidForm);//将子窗体加入到Panel控件中
panelDesktop.Tag = chidForm;
chidForm.BringToFront();
chidForm.Show();//显示子窗体
}
//在Button事件中执行方法
private void btnOpen_Click(object sender, EventArgs e)
{
OpenChildForm(cForm);
}