C# 在WinForms中使用EasyTabs的Chrome样式选项卡应用程序
我正在尝试使用WinForms中的EasyTabs创建一个带有Chrome样式选项卡的C应用程序,但得到以下错误代码: 设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型 我遵循下面的Youtube教程作为指导 代码:C# 在WinForms中使用EasyTabs的Chrome样式选项卡应用程序,c#,C#,我正在尝试使用WinForms中的EasyTabs创建一个带有Chrome样式选项卡的C应用程序,但得到以下错误代码: 设计器必须创建“EasyTabs.TitleBarTabs”类型的实例,但不能创建,因为该类型已声明为抽象类型 我遵循下面的Youtube教程作为指导 代码: using System; using EasyTabs; namespace WindowsFormsApp1 { public partial class AppContainer : TitleBarTa
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表单,您将看到以下情况:您将遇到此错误,因为正如所解释的,设计器正在尝试绘制抽象的内容一旦扩展标题栏而不是表单,我们的表单就是抽象的,因此,只有当您试图在设计器中查看表单时才会抛出异常,否则是完全有效的。只要您正确地遵循教程,一切都将按预期运行。我建议启动你的应用程序来确保这一点,否则这似乎不是一个错误,这是正常的。嗯,这是另一个需要考虑的问题。我只是按照我在上一篇评论中发布的完全相同的文章,它工作得非常好。如果你有一些其他的错误,你似乎无法修复,我想他们值得另一个问题。