Random collection of WinForm controls for .NET
kontrols is listed on NuGet here: https://www.nuget.org/packages/kontrols/ and can be installed from the NuGet Package manager:
Install-Package kontrols -Version 0.2.6
| Control | Description |
|---|---|
DesktopIcon |
A control which mimicks the behavior of a Windows desktop icon. |
HoverImageButton |
This control displays an image that changes when the user places the cursor over the control. |
HoverTextButton |
Displays text that changes color when the user places the cursor over the control. |
SimpleBorderForm |
A frameless Windows Form with a solid color border that is draggable. |
RoundedBorderForm |
A frameless Windows Form with a rounded border that is draggable and resizable. |
ToggleImageButton |
Displays an image that changes depending on if the control is toggled or not. |
ZoomMenu |
An animated menu consisting of one or more ZoomItem. This is similiar to the Dock in macOS. |
This control attemps to mimmick the icons on the Windows desktop.
| Property | Type | Description |
|---|---|---|
ForeColor |
Color |
The foreground color of the text. |
GrayScaleWhenDisabled |
bool |
Determines if the control is drawn in grayscale when disabled |
HoverColor |
Color |
The color used to indicate the mouse is over the icon. |
HoverImage |
Image |
The image displayed when the cursor is over the control.HoverForeColor |
IconSquare |
IconSize |
The icon will be fit into this square while the text string will account for the rest of the space |
Image |
Image |
The image displayed when the cursor is not over the control. |
The image-based controls can also display text that can be configured using the same properties as the HoverTextButton. To configure the images you'll need to specify which image should be used for both the hover and non-hover states.
| Property | Type | Description |
|---|---|---|
GrayScaleWhenDisabled |
bool |
Determines if the control is drawn in grayscale when disabled |
HoverBackColor |
Color |
The background color when the cursor is over the control. |
HoverImage |
Image |
The image displayed when the cursor is over the control. |
Image |
Image |
The image displayed when the cursor is not over the control. |
SizeMode |
PictureBoxSizeMode |
This property is borrowed from the standard PictureBox control and provides the same behavior. |
To use this control you need to specify which colors should be used for both the hover and non-hover states.
| Property | Type | Description |
|---|---|---|
ForeColor |
Color |
The foreground color of the text. |
GrayScaleWhenDisabled |
bool |
Determines if the control is drawn in grayscale when disabled |
HoverForeColor |
Color |
The foreground color of the text when the cursor is over the control. |
| Property | Type | Description |
|---|---|---|
ControlBox |
bool |
This property is borrowed from the standard Form control and provides the same behavior. |
This is a frameless (i.e., FormBorderStyle=None) window with a solid colored border.
- Add a new Windows Form to your application. For this example, the form was named
MyNewForm. - View the code for
MyNewForm.csand change it to inherit fromSimpleBorderForminstead ofFormlike so:
public partial class MyNewForm : SimpleBorderFormNow set the BorderColor property to any color and design the form like normal.
By default the user can click any part of the form and drag it around. If you'd like the user to be able to move the form using a control you've added to it (i.e., a Label acting as the title) you can make that control draggable via the AddDraggableControl() method.
The user can resize the form using any of the four sides or corners excluding directly above the title area.
This is a frameless (i.e., FormBorderStyle=None) window with a rounded border. It is resizable.
- Add a new Windows Form to your application. For this example, the form was named
MyNewForm. - View the code for
MyNewForm.csand change it to inherit fromRoundedBorderForminstead ofFormlike so:
public partial class MyNewForm : RoundedBorderFormNow set the CornerRadius property and the BackgroundColor property and then design the form like normal.
By default, the user can click the title area (top center) to drag the form around.
The user can resize the form using any of the four sides or corners excluding directly above the title area.
Each icon on the ZoomMenu is represented by a ZoomItem. To add new ZoomItems you can call the Add method passing an Image and string for the icon's image and text respectively.
zoomMenu.Add(myImage, "My Icon");You can respond to icon clicks by subscribing to the ZoomItemClicked event:
zoomMenu.ZoomItemClicked += item => MessageBox.Show($"You clicked {item.Text}");Included in the src folder is an example application that show how to use each of the controls.


