读书人

在tabPage中动态添加的窗体没法随ta

发布时间: 2013-12-22 15:06:55 作者: rapoo

在tabPage中动态添加的窗体,无法随tabpage动态调整大小?
本帖最后由 acfgbacfgb 于 2013-12-20 11:00:35 编辑 我用的dotNetBar的tabControl控件。 用.net自带的一样存在这个问题。
主窗体尺寸变化后,tabControl会随之变大。 但tabControl里面添加的窗体不会随着tabPage变。


private void opentab(string tabtext, Form frm)
{
foreach (TabItem tabp in this.tabControl1.Tabs)
{
if (tabp.Text == tabtext)
{
tabp.Visible = true;
tabControl1.SelectedTab = tabp;
return;
}
}
frm.TopLevel = false;
frm.FormBorderStyle = FormBorderStyle.None;
frm.Text = tabtext;
frm.BackColor = this.BackColor;
frm.AutoScroll = true;

TabItem tp = new TabItem();
tp.Text = tabtext;
tp.ImageIndex = 3;

TabControlPanel tcp = new TabControlPanel();
tcp.Dock = DockStyle.Fill;
tcp.Location = new System.Drawing.Point(0, 0);
tcp.Padding = new System.Windows.Forms.Padding(2);
tcp.TabItem = tp;
tp.AttachedControl = tcp;
tcp.Controls.Add(frm);
tabControl1.Tabs.Add(tp);
tabControl1.Controls.Add(tcp);
tabControl1.Refresh();
tabControl1.SelectedTab = tp;

frm.Dock = DockStyle.Fill;
frm.Visible = true;
}

[解决办法]

Form2 frm = new Form2();
frm.TopLevel = false;
frm.Parent = tabControl1.TabPages[0];
frm.Dock = DockStyle.Fill;
frm.Visible = true;

这代码没问题
[解决办法]
代码确实没问题
你确定窗体大小没跟着变化?》
frm.FormBorderStyle = FormBorderStyle.None;
把这句代码去掉改变大小看看是否变了

读书人网 >C#

热点推荐