Awesome
<img src="https://github.com/Krypton-Suite/Standard-Toolkit/blob/master/Krypton.png?raw=true"> Standard Toolkit
<!-- Start Document Outline -->- NuGet Information
- Discord Server
- Version History
- Breaking Changes
- Known Issues & Workarounds
NuGet Information
Nightly
Canary
Stable
Keep up-to-date here
=======
Documentation
The online help will give an overview of what the toolkit is capable of.
<a href="https://krypton-suite.github.io/Standard-Toolkit-Online-Help/Source/Help/Output/index.html"><img src="https://img.shields.io/badge/Documentation-Online Help-9cf.svg?style=flat-square" alt="Online Help" /></a>
If you require the full API reference, you can download the latest version by clicking the link below.
<a href="https://github.com/Krypton-Suite/Help-Files/releases"><img src="https://img.shields.io/badge/Documentation-API Reference-9cf.svg?style=flat-square" alt="API Reference" /></a>
=======
Package Support Information
Full information about support can be found here
Release Cadence
See Krypton Toolkit release cadence
Package Descriptions
To find out more about the differences between Nightly
, Canary
and Stable
packages, please read this article.
Installing Pre-Release Versions
To find out how to install either Canary
or Nightly
versions, please check out this article.
=======
Supporters
Development of the Krypton Standard Toolkit is supported by these generous organisations:
<table> <tr> <td width="200px"> <a href="https://www.jetbrains.com/"> <center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Supporter-Logos/jetbrains-logo.png?raw=true" /></center> </a> </td> <td width="200px"> <a href="https://www.yourkit.com/"> <center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Supporter-Logos/yourkit-logo.png?raw=true" /></center> </a> </td> </tr> <tr> <td width="200px"> JetBrains provides cutting-edge IDE and developer productivity tools. </td> <td width="200px"> YourKit provides a market-leading intelligent <a href="https://www.yourkit.com/features/">Java Profiler</a> and <a href="https://www.yourkit.com/dotnet/features/">.NET Profiler</a>. </td> </tr> </table>=======
Toolkit Example images
Follow the links to see the different objects and layouts that this framework allows you to do: Toolkit Demos
=======
Discord Server
<a href="https://discord.gg/CRjF6fY" alt="Join our Krypton Toolkit community Discord server"><img src="https://img.shields.io/badge/Discord-Join%20our%20server-7289DA?logo=discord&style=flat-square" /></a>
=======
<!--# Project & item templates <a href="https://tinyurl.com/StandardToolkitTemplates" alt="Download project & item templates"><img src="https://img.shields.io/badge/Templates-Download%20project%20%26%20item%20templates-blueviolet?style=flat-square" /></a> =======-->Version History
<a href="https://github.com/Krypton-Suite/Standard-Toolkit/blob/master/Documents/Help/Changelog.md"><img src="https://img.shields.io/badge/Version History-Changelog-brightgreen.svg?style=flat-square" /></a>
=======
Breaking Changes
V80.## (2023-11-14 - Build 2311 - November 2023)
There are list of changes that have occurred during the development of the V80.## version
Support for .NET Core 3.1 and .NET 5
As of V80.##, support for .NET Core 3.1 and .NET 5 has been removed due to their release cadences. It is strongly advised that you migrate your application to .NET 8, as the latest LTS version, or the slightly older .NET 6, if you require a more supported version. If you do not make these mitigations, the packages will fail to install when upgrading, if your project is configured to use either .NET Core 3.1 and .NET 5.
KryptonMessageBoxButtons
- https://github.com/Krypton-Suite/Standard-Toolkit/issues/728:
Bring MessageBox States inline with latest .Net 6 by using a new
KryptonMessageBoxButtons
type, which is effectively the same as .NET 6 enum version ofMessageBoxButtons
but backward compatible with .NET Framework 4.6.x onwards.
Palette usages
KryptonPalette
has becomeKryptonCustomPaletteBase
to better signify it's usage.IPalette
has been removed, and the usage ofPaletteBase
throughout the toolkit is used; to ensure consistent usage.
Depreciation of KryptonManager.Strings
In a effort to support translations, KryptonManager.Strings
is now obsolete. As such, the new KryptonLanguageManager
will handle such strings.
V70.## (2022-11-08 - Build 2211 - November 2022)
There are list of changes that have occurred during the development of the V70.## version
Ribbon Tooltips
- https://github.com/Krypton-Suite/Standard-Toolkit/issues/382
- https://github.com/Krypton-Suite/Standard-Toolkit/issues/511 ### Ribbon Tooltips
dpiAware
If you are getting scaling problems in high dpi monitors, then please add an application manifest to your MainForm application, and uncomment the section that covers the dpiAware
setting.
KryptonTaskDialog
As of v70.xx, the KryptonTaskDialog
now uses the built-in KryptonMessageBoxIcon
instead of the standard System.Windows.Forms.MessageBoxIcon
. This will cause errors within your project. To resolve, simply replace MessageBoxIcon
with the KryptonMessageBoxIcon
equivalent.
KryptonPalette
Both Font1 & Font2 have been removed from Cargo
, as they were not used.
KryptonMessageBox
The standard MessageBoxIcon
option has been removed in favour of the built-in KryptonMessageBoxIcon
. In addition, the MessageBoxDefaultButton
has also been removed in favour of the built-in KryptonMessageBoxDefaultButton
.
Strong Named Assemblies
After updating to v70, you may need to sign your assemblies for a successful build. To find out how to do this, click here.
Management of using
Statements
As of version 60, all using
statements are contained in one file per project unless otherwise. For details, please read this article.
=======
Known Issues & Workarounds
-
#1109 - KryptonPropertyGrid 'jagged' text
- Some controls can display
Jagged text
when drawing. (i.e. ComboBox contents / PropertyGrid / Extended controls ) This is due to the usage of the Legacy APIApplication.SetCompatibleTextRenderingDefault
having a value oftrue
. Please set it to false.
- Some controls can display
-
#665 - Workaround add
net48
ornet481
to your<TargetFrameworks>
if using .NET 6 or 7 -
.NET 6/7 Designer issues - If you are experiencing designer issues with your project, please refer to this for more information
-
URGENT: If anyone experiences "Double events" such as the one found here, please can you report it ASAP, so that they can be investigated. Thanks!
=======
Introduction
The Krypton Suite contains user interface components designed to make it quick and easy for developers to create professional looking applications. It provides the essential building blocks needed to create a consistent look and feel across all your products. You can use the built-in palettes to achieve the same appearance as industry standard applications such as Microsoft Office 2007/2010/2013
& Microsoft 365, Visual Studio 2010. Alternatively you can create your own custom palettes to create a completely unique user interface. The Krypton Suite consists of five products called Krypton Toolkit, Krypton Ribbon, Krypton Navigator, Krypton Workspace and Krypton Docking.
What is this Repository About?
- Modifications by Peter Wagner (aka Wagnerp) & Simon Coghlan (aka Smurf-IV) have been fixing and adding more capabilities to this toolkit.
- There is also an Extensions project, which takes these base controls and add more useful complete controls (Currently outside the scope of this help). To find out more, please head to this link
- All .Net Versions from 4.6.2 are catered for (interim releases, i.e. releases in-between Long Term Support (LTS) versions of .NET will only be supported for the duration of that particular version, usually 24 months.)
- New versions of NuGet packages can be obtained via this link, or via your package manager by searching
Krypton.
. - New, major versions are released annually, with patches if needed released throughout that period. Version 80 is expected to release in November 2023.
- For tips on how to build the toolkit for yourself, please read the following article.
Individual Components
Krypton Toolkit
The Krypton Toolkit provides a set of basic user interface components for free. You can distribute the signed Krypton Toolkit assembly without charge or royalty with your own products. The Krypton Toolkit is great resource for speeding up development of professional looking applications. It works in tandem with the MenuStrip, StatusStrip and ToolStrip controls that come with .NET Framework controls. Using the Krypton Toolkit you can create a great looking application in just minutes.
<center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonToolkitExampleForm.gif?raw=true" /></center> <center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonToolkitExampleGroup.gif?raw=true" /></center> <center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonToolkitProgressBarExample.gif?raw=true" /></center>Krypton Ribbon
The Krypton Ribbon is designed to mimic the look, feel and operation of the ribbon control seen in the Microsoft Office 2007/2010/2013/365
applications such as Word and Excel. It provides advanced capabilities including the quick access toolbar, contextual tabs and auto shrinking groups. With rich design time support and sample code you can be up and running with the ribbon in no time at all. It integrates with the Krypton Toolkit architecture to ensure a consistent look and feel.
Krypton Navigator
The Krypton Navigator is a user interface control that provides the user with a variety of ways to navigate around a set of pages. Think of it as a traditional TabControl on steroids. It has many different modes of operation allowing you to achieve exactly the right operation for your application. It integrates with the Krypton Toolkit architecture to ensure a consistent look and feel.
<center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonNavigatorExample.gif?raw=true" /></center>Krypton Workspace
The Krypton Workspace allows a document area to be created that the user can customise by dragging and dropping pages into new positions. Similar to the Visual Studio document area but with far greater flexibility and functionality. Each cell within the workspace uses an instance of the Krypton Navigator allowing a wide range of options for organising and displaying pages. It integrates with the Krypton Toolkit architecture to ensure a consistent look and feel.
<center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonWorkspaceExample.gif?raw=true" /></center>Krypton Docking
The Krypton Docking set of components allow the user to drag and drop docking pages into new locations in order to customise the organisation of the application content. It allows this in a way similar to that of Visual Studio 2008/2010. Each docking area uses an instance of the Krypton Workspace allowing a wide range of options for organising and displaying pages. It integrates with the Krypton Toolkit architecture to ensure a consistent look and feel.
<center><img src="https://github.com/Krypton-Suite/Documentation/blob/main/Assets/Standard-Toolkit/KryptonDockingExampleCustomised.gif?raw=true" /></center>