关键属性 AutoScrollMinSize
private int minWidth = 800; private int minHeight = 600; List<Form> listForm = new List<Form>(); private Assembly assembly = Assembly.GetExecutingAssembly(); // 获取当前程序集 private void navMenu_MenuItemClick(string itemText, int menuIndex, int pageIndex) { string name = ""; string title = ""; foreach (TreeNode item in navMenu.Nodes[navMenu.SelectedIndex].Nodes) { if (item.Text == itemText) { name = item.Name; title = item.Text; break; } } //获取屏幕除了任务栏的高宽 int w = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width; //高度减去系统标题头的高度 int h = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - 100; Sunny.UI.Common.ShowWaitForm(); try { //检测当前FORM是否存在。 Form form = listForm.SingleOrDefault(a => a.Name == name); if (form != null && form.IsDisposed) { listForm.Remove(form); form = null; } if (form == null) { //新建page TabPage tabPage = new TabPage(); tabPage.Name = name + "_tab"; tabPage.Tag = name; tabPage.TabIndex = listForm.Count; tabPage.Text = title; tabPage.UseVisualStyleBackColor = true; tabPage.AutoScroll = true; tabPage.AutoScrollMinSize = new Size(w, h); mianTabContorl.Controls.Add(tabPage); //新建panel,网上听说要添加pannel。可是没用 //UIPanel uIPanel = new UIPanel(); //uIPanel.Font = new System.Drawing.Font("微软雅黑", 9F); //uIPanel.Text = ""; //uIPanel.Dock = DockStyle.Fill; //uIPanel.AutoScroll = true; //uIPanel.MinimumSize = new Size(minWidth, minHeight); //tabPage.Controls.Add(uIPanel); //根据命名空间.类名动态创建Form对象 form = (Form)assembly.CreateInstance("TestProduct." + name); form.MdiParent = this; form.FormBorderStyle = FormBorderStyle.None; //form.Parent = uIPanel; form.Parent = tabPage; //不可使用WindowState // form.WindowState = FormWindowState.Maximized; //设置最大高宽,最小高宽 form.MinimumSize = new Size(w, h); //填充pannel form.Dock = DockStyle.Fill; form.Show(); listForm.Add(form); mianTabContorl.SelectedTab = tabPage; } else { mianTabContorl.SelectedTab = GetTabPage(form.Name); } } catch (Exception ex) { Sunny.UI.Common.ShowErrorDialog("错误消息:" + ex.Message); } finally { Sunny.UI.Common.HideWaitForm(); } } private TabPage GetTabPage(string name) { TabPage tb = null; foreach (TabPage item in mianTabContorl.TabPages) { if (item.Tag.ToString() == name) { tb = item; } } return tb; }