C# 在WinForms中使用EasyTabs的Chrome样式选项卡应用程序

C# 在WinForms中使用EasyTabs的Chrome样式选项卡应用程序,c#,C#,我正在尝试使用WinForms中的EasyTabs创建一个带有Chrome样式选项卡的C应用程序,但得到以下错误代码: 设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型 我遵循下面的Youtube教程作为指导 代码: using System; using EasyTabs; namespace WindowsFormsApp1 { public partial class AppContainer : TitleBarTa

我正在尝试使用WinForms中的EasyTabs创建一个带有Chrome样式选项卡的C应用程序,但得到以下错误代码:

设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型

我遵循下面的Youtube教程作为指导

代码:

using System;
using EasyTabs;

namespace WindowsFormsApp1
{
    public partial class AppContainer : TitleBarTabs
    {
        public AppContainer()
        {
            InitializeComponent();

            AeroPeekEnabled = true;
            TabRenderer = new ChromeTabRenderer(this);
        }

        public override TitleBarTab CreateTab()
        {
            return new TitleBarTab(this)
            {
                Content = Form1
                {
                    Text = "New Tab"
                }
            };
        }

        private void AppContainer_Load(object sender, EventArgs e)
        {

        }
    }
}

当您尝试直接查看AppContainer.cs时,通常会看到此错误

设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型。 不要因此而阻碍你实现你想要实现的目标。忽略错误,只需右键单击AppContainer.cs并选择查看代码

这应该足以为您生成新的选项卡

现在,为了方便地创建选项卡,让我们假设您有一个表单“MainForm”,并且您要生成的选项卡是“Form1”,我们就是这样做的

using System;
using System.Windows.Forms;
using EasyTabs;

namespace WindowsFormsApp1
{
    public partial class MainForm : Form
    {
        public static AppContainer tabbedApp = new AppContainer();

        public MainForm()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            tabbedApp.Tabs.Add(new TitleBarTab(tabbedApp)
            {
                Content = new Form1
                {
                    Text = "New Tab"
                }
            });
            tabbedApp.SelectedTabIndex = 0;

            TitleBarTabsApplicationContext applicationContext = new TitleBarTabsApplicationContext();
            applicationContext.Start(tabbedApp);

            this.Hide();
        }

    }
}
通过在另一个表单上调用此代码,您始终可以轻松地向选项卡添加新选项卡

    AppContainer.tabbedApp.Tabs.Add(new TitleBarTab(AppContainer.tabbedApp)
    {
         Content = new Form2 { Text = "Another Tab" }
   });
   AppContainer.tabbedApp.SelectedTabIndex = 0;

我希望这能帮助您和任何寻求类似问题帮助的人。

当您尝试直接查看AppContainer.cs时,看到此错误是正常的

设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型。 不要因此而阻碍你实现你想要实现的目标。忽略错误,只需右键单击AppContainer.cs并选择查看代码

这应该足以为您生成新的选项卡

现在,为了方便地创建选项卡,让我们假设您有一个表单“MainForm”,并且您要生成的选项卡是“Form1”,我们就是这样做的

using System;
using System.Windows.Forms;
using EasyTabs;

namespace WindowsFormsApp1
{
    public partial class MainForm : Form
    {
        public static AppContainer tabbedApp = new AppContainer();

        public MainForm()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            tabbedApp.Tabs.Add(new TitleBarTab(tabbedApp)
            {
                Content = new Form1
                {
                    Text = "New Tab"
                }
            });
            tabbedApp.SelectedTabIndex = 0;

            TitleBarTabsApplicationContext applicationContext = new TitleBarTabsApplicationContext();
            applicationContext.Start(tabbedApp);

            this.Hide();
        }

    }
}
通过在另一个表单上调用此代码,您始终可以轻松地向选项卡添加新选项卡

    AppContainer.tabbedApp.Tabs.Add(new TitleBarTab(AppContainer.tabbedApp)
    {
         Content = new Form2 { Text = "Another Tab" }
   });
   AppContainer.tabbedApp.SelectedTabIndex = 0;

我希望这能帮助你和任何寻求类似问题帮助的人。

我建议将你编写的代码发布,而不是将视频链接发布到YouTube上。突出显示您在代码中遇到的错误,这样可以更容易地帮助您。感谢您的回复,我是这个网站的新手,忘了将我的代码与之一起发布。根据,您看不到设计器是正常的。请注意,如果您尝试在Visual Studio designer中查看AppContainer表单,您将看到以下情况:您将遇到此错误,因为正如所解释的,设计器正在尝试绘制抽象的内容一旦扩展标题栏而不是表单,我们的表单就是抽象的,因此,只有当您试图在设计器中查看表单时才会抛出异常,否则是完全有效的。只要您正确地遵循教程,一切都将按预期运行。我建议启动你的应用程序来确保这一点,否则这似乎不是一个错误,这是正常的。嗯,这是另一个需要考虑的问题。我只是按照我在上一篇评论中发布的完全相同的文章,它工作得非常好。如果你有一些其他的错误,你似乎无法修复,我想他们值得再问一个问题。我建议你发布你写的代码,而不是在YouTube上发布视频链接。突出显示您在代码中遇到的错误,这样可以更容易地帮助您。感谢您的回复,我是这个网站的新手,忘了将我的代码与之一起发布。根据,您看不到设计器是正常的。请注意,如果您尝试在Visual Studio designer中查看AppContainer表单,您将看到以下情况:您将遇到此错误,因为正如所解释的,设计器正在尝试绘制抽象的内容一旦扩展标题栏而不是表单,我们的表单就是抽象的,因此,只有当您试图在设计器中查看表单时才会抛出异常,否则是完全有效的。只要您正确地遵循教程,一切都将按预期运行。我建议启动你的应用程序来确保这一点,否则这似乎不是一个错误,这是正常的。嗯,这是另一个需要考虑的问题。我只是按照我在上一篇评论中发布的完全相同的文章,它工作得非常好。如果你有一些其他的错误,你似乎无法修复,我想他们值得另一个问题。