You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在带添加关闭按钮的TabControl新建标签中添加指定大小WebBrowser控件

解决方案

你在完成WebBrowser的实例化、尺寸配置后,直接将控件添加到新生成的TabPage的Controls集合中即可实现需求,修改后的逻辑如下:

this.tabControl1.TabPages.Insert(lastIndex, "New Tab");
this.tabControl1.SelectedIndex = lastIndex;
this.tabControl1.TabPages[lastIndex].UseVisualStyleBackColor = true;
WebBrowser wbb = new WebBrowser();
wbb.Size = new Size(547, 201);
// 新增以下代码将WebBrowser添加到标签页
this.tabControl1.TabPages[lastIndex].Controls.Add(wbb);
// 如果需要默认打开某个页面,可额外加这行
// wbb.Navigate("https://www.example.com");

完整修改后的事件代码如下:

private void tabControl1_MouseDown(object sender, MouseEventArgs e)
{
    var lastIndex = this.tabControl1.TabCount - 1;
    if (this.tabControl1.GetTabRect(lastIndex).Contains(e.Location))
    {
        this.tabControl1.TabPages.Insert(lastIndex, "New Tab");
        this.tabControl1.SelectedIndex = lastIndex;
        this.tabControl1.TabPages[lastIndex].UseVisualStyleBackColor = true;
        WebBrowser wbb = new WebBrowser();
        wbb.Size = new Size(547, 201);
        // 将WebBrowser控件加入标签页的控件集合
        this.tabControl1.TabPages[lastIndex].Controls.Add(wbb);
    }
    else
    {
        for (var i = 0; i < this.tabControl1.TabPages.Count; i++)
        {
            var tabRect = this.tabControl1.GetTabRect(i);
            tabRect.Inflate(-2, -2);
            var closeImage = Properties.Resources.Close;
            var imageRect = new Rectangle(
                (tabRect.Right - closeImage.Width),
                tabRect.Top + (tabRect.Height - closeImage.Height) / 2,
                closeImage.Width,
                closeImage.Height);
            if (imageRect.Contains(e.Location))
            {
                this.tabControl1.TabPages.RemoveAt(i);
                break;
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者VWWE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:15:04