c#更简单的方法来查找选定的选项卡,并对其中的控件进行操作

本文关键字:操作 控件 方法 更简单 查找 选项 | 更新日期: 2023-09-27 18:12:00

我试图找到一个更容易的方法来实现这在我的代码。并不是我介意输入所有这些,而是我关心我将要拥有的代码量。这里的代码示例只是我试图做的事情的一个小示例。当这一切都说完了,我最终会有3个不同的按钮对50个不同的选项卡执行不同的操作。

我是c#的新手,所以请原谅我的经验不足,如果你能指导我正确的方向,我需要使用什么类型,函数,方法来有效地做到这一点,我将不胜感激。

不管怎样,看看代码。我基本上是为我的工作,将有50+标签的每个工具,我需要能够访问和我只是使后退按钮,前进,刷新等自定义web浏览器,但我需要它只做这个功能的标签,我目前有活动。

private void backToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["inetTab"])
        {
            inetTabBrowser.GoBack();
            textBox1.Text = inetTabBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["frontierWikiTab"])
        {
            frontierWikiBrowser.GoBack();
            textBox1.Text = frontierWikiBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["loopcareTab"])
        {
            loopcareBrowser.GoBack();
            textBox1.Text = loopcareBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["vnetTab"])
        {
            vnetBrowser.GoBack();
            textBox1.Text = vnetBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["cdpiTab"])
        {
            cdpiBrowser.GoBack();
            textBox1.Text = cdpiBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["lolaTab"])
        {
            lolaBrowser.GoBack();
            textBox1.Text = lolaBrowser.Url.ToString();
        }
        if (frontierTabInner.SelectedTab == frontierTabInner.TabPages["billingLookupTab"])
        {
            billingLookupBrowser.GoBack();
            textBox1.Text = billingLookupBrowser.Url.ToString();
        }

我知道有更简单的方法,但我似乎找不到。

任何帮助都是有帮助的。

谢谢

c#更简单的方法来查找选定的选项卡,并对其中的控件进行操作

您可以很容易地在选定的选项卡中找到WebBrowser控件:

private void backToolStripMenuItem_Click(object sender, EventArgs e)
{
    WebBrowser wbControl =
       frontierTabInner.SelectedTab.Controls.OfType<WebBrowser>().FirstOrDefault();
    wbControl.GoBack();
    textBox1.Text = wbControl.Url.ToString();
}

假设每个选项卡中只有一个WebBrowser控件。否则,您必须知道它的名称或索引才能找到它。