0

我是 C# 的新手,所以我需要尽可能简单的一切,我编写了一个带有标签的网络浏览器,当我单击添加标签时,它只在 google.co.uk 的新标签中打开一个网络浏览器,但我需要的是新标签有一个地址栏和一个导航按钮,以便我能够导航到新标签中的另一个 URL。基本上我想要的是一个添加选项卡按钮,它添加一个带有完全独立的 Web 浏览器和一个单独的地址栏和一个单独的导航按钮的选项卡。到目前为止,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        TabPage tb = new TabPage("Tab");
        WebBrowser wb = new WebBrowser();
        wb.Dock = DockStyle.Fill;
        wb.Navigate("www.google.co.uk");
        tabControl1.TabPages.Add(tb);
        tb.Controls.Add(wb);
        tabControl1.SelectTab(tb);
    }

    private void closeAltF4ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private void addTabToolStripMenuItem_Click(object sender, EventArgs e)
    {
        TabPage tb = new TabPage("Tab");
        WebBrowser wb = new WebBrowser();
        wb.Dock = DockStyle.Fill;
        wb.Navigate("www.google.co.uk");
        tabControl1.TabPages.Add(tb);
        tb.Controls.Add(wb);
        tabControl1.SelectTab(tb);
        tb.Controls.Add(new TextBox());


    }

    private void button1_Click_1(object sender, EventArgs e)
    {
        webBrowser1.Navigate(textBox1.Text);
    }

    private void removeTabToolStripMenuItem_Click(object sender, EventArgs e)
    {
        tabControl1.TabPages.Remove(tabControl1.SelectedTab);
    }

}

}

解决方案:

我让它与用户控件一起工作,我设计了一个用户控件表单,然后使用以下代码将它添加到选项卡中:

TabPage tb = new TabPage("Tab");
        MenuStrip ms = new MenuStrip();
        tabControl1.TabPages.Add(tb);
        tb.Controls.Add(ms);
        tb.Controls.Add(new UserControl1()); 
        tabControl1.SelectTab(tb);
4

1 回答 1

1

用户控件是保持相同布局的最佳方式。你可以把它想象成一个面板。它可以使您的控件分组并保持相同的外观。将您的网站 GUI 添加到面板,然后将面板控件添加到 TabControl。

就像是

 TabPage tb = new TabPage("Tab");
    MenuStrip ms = new MenuStrip();
    ms.Items.Add("Add");
    ms.items[0].Click += new EventHandler(AddMenu_Click);
    tb.Controls.Add(ms);
    tb.Controls.Add(new UserControl(tabControl1)); //If you need to update tab text
      tabControl1.TabPages.Add(tb);

这将在每个标签页上创建一个菜单条,然后您的用户控件或“面板”将填充其余部分。

于 2013-02-07T18:29:31.023 回答