Net4x.EasyTabs 1.0.0

dotnet add package Net4x.EasyTabs --version 1.0.0
NuGet\Install-Package Net4x.EasyTabs -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Net4x.EasyTabs" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Net4x.EasyTabs --version 1.0.0
#r "nuget: Net4x.EasyTabs, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Net4x.EasyTabs as a Cake Addin
#addin nuget:?package=Net4x.EasyTabs&version=1.0.0

// Install Net4x.EasyTabs as a Cake Tool
#tool nuget:?package=Net4x.EasyTabs&version=1.0.0

EasyTabs

Build status

<a href="http://lstratman.github.com/EasyTabs/images/screenshots/tabs.png" target="_blank"><img src="http://lstratman.github.com/EasyTabs/images/screenshots/thumbnails/tabs.png"/></a> <a href="http://lstratman.github.com/EasyTabs/images/screenshots/repositioning.png" target="_blank"><img src="http://lstratman.github.com/EasyTabs/images/screenshots/thumbnails/repositioning.png"/></a> <a href="http://lstratman.github.com/EasyTabs/images/screenshots/tearing.png" target="_blank"><img src="http://lstratman.github.com/EasyTabs/images/screenshots/thumbnails/tearing.png"/></a> <a href="http://lstratman.github.com/EasyTabs/images/screenshots/peek.png" target="_blank"><img src="http://lstratman.github.com/EasyTabs/images/screenshots/thumbnails/peek.png"/></a>

EasyTabs is a library that you can add to your .NET WinForms applications (WPF support coming eventually) in order to render a list of tabs in the title bar of the application, similar to Chrome, Firefox, Edge, etc. Instead of inheriting from System.Windows.Forms.Form, you inherit from EasyTabs.TitleBarTabs and set the tab renderer that you wish to use:

using EasyTabs;

namespace YourNamespace
{
    public partial class YourApp : TitleBarTabs
    {
        public TestApp()
        {
            InitializeComponent();

            // Enable or disable viewing tabs through the taskbar
            AeroPeekEnabled = true;
            // Set the tab rendering engine that you wish to use
            TabRenderer = new ChromeTabRenderer(this);
        }
        
        // ...
    }
}

The base class takes care of the grunt work of rendering the tabs, responding to clicks to activate/close/add/etc. while you simply add TitleBarTab objects to the Tabs collection. TitleBarTab objects expect their Content property to be set to a Form object that represents the contents for the tab. You can design these forms in Visual Studio the same as you would any other application; the Title and Icon properties are used to display the tab itself.

The library comes with a renderer for Chrome-like tabs (ChromeTabRenderer), but you can implement your own by creating a class inheriting from BaseTabRenderer. The TestApp directory contains the project for a tabbed web browser test application that you can use as a starting point for implementing your own functionality.

You can include this functionality in your project via NuGet:

PM> Install-Package EasyTabs

This project is licensed under the terms of the BSD license

Product Compatible and additional computed target framework versions.
.NET net5.0-windows7.0 is compatible.  net6.0-windows was computed.  net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed. 
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 220 8/26/2023

- Updated Chrome tab renderer to match the style and behavior of Chrome v85
- Tab opacity now follows parent form opacity
- Added the ability to show tooltips on tab hover
- Added ForeColor property to BaseTabRenderer to allow you to customize the tab text color
- Tab forms can cancel application close through e.Cancel = true in FormClosing