需求就是要在TabControl的page里添加一个内嵌的窗体。如下图:
代码其实很简单:
public void GenerateForm(string form, TabControl sender)
{
Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(form);
//设置窗体没有边框 加入到选项卡中
fm.FormBorderStyle = FormBorderStyle.None;
fm.TopLevel = false;
fm.Parent = ((TabControl)sender).SelectedTab;
fm.ControlBox = false;
fm.Dock = DockStyle.Fill;
fm.Show();
}
但是问题就在于,始终子窗体fm根本不显示。如下图
后来找了半天bug,检查了代码,发现是TabControl控件的尺寸设置的太小了,真是尴尬。。。
如上图,把控件的尺寸拉大一点,子窗体就露出来。。。
网友评论