https://github.com/niall3urke/axiom
A control library for Winforms inspired by Bulma.io
https://github.com/niall3urke/axiom
control-library netframework winforms
Last synced: about 1 month ago
JSON representation
A control library for Winforms inspired by Bulma.io
- Host: GitHub
- URL: https://github.com/niall3urke/axiom
- Owner: niall3urke
- License: mit
- Created: 2024-04-05T09:10:42.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-18T09:32:19.000Z (over 1 year ago)
- Last Synced: 2025-05-19T01:38:11.614Z (about 1 year ago)
- Topics: control-library, netframework, winforms
- Language: C#
- Homepage:
- Size: 219 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Axiom
Axiom is a control library for Winforms applications that helps create modern, user-friendly interfaces inspired by the Bulma CSS framework.
## What is it
Axiom is a library designed to enhance Winforms applications with more modern and visually appealing controls. It aims to provide developers with tools to create interfaces that are both functional and attractive.
It allows you to take your controls from this:

To this:

## Compatibility
Axiom can be included in Winforms applications built on the .NET Framework.
## Installation
### Step 1: Getting the DLL
1. Download the project from GitHub.
2. Open it in Visual Studio.
3. Build the application.
4. Find the DLL in the binary folder of the project.
### Step 2: Referencing the DLL
To use Axiom in your Winforms project, follow these steps:
1. Open any form in your project.
2. Right-click the Toolbox and select **Choose Items…**.
3. Click **Browse…** and navigate to the built `Axiom.dll` file.
4. Select the `Axiom.dll` file and click **OK**.
You should now see Axiom controls available in your Toolbox, ready to be dragged and dropped onto your forms.
## Usage
Here’s a simple example of how to use an Axiom control:
1. Drag an Axiom button from the Toolbox onto your form.
2. Set its properties in the Properties pane.
```csharp
// Example of setting properties in code
axiomButton.Color = AxColor.Primary;
axiomButton.Rounded = true;
axiomButton.Static = false;
axiomButton.State = AxState.Loading;
```
## Features
Axiom controls come with a variety of properties to customize their appearance and behavior:
| Property | Description |
| --- | --- |
| Color | The color of the control. This varies by control, with buttons having the most options. |
| Inverted | The text color becomes the background color and vice-versa. |
| Light | An option for a light variant of the default color scheme. |
| Outlined | Removes the background and leaves the border and foreground text. |
| Rounded | Adds a generous rounded border to controls. |
| Shape | Controls the size of the control. Options are Small, Normal, Medium, and Large. |
| Static | Converts a button to a non-interactive button. |
| State | Tracks the state of the control (focused, hovered, etc). Setting the state to loading will display a loading symbol for some controls. |
## Controls
Axiom contains the following types of control:
| Control | Description |
| --- | --- |
| AxButton | The classic button, in different colors, sizes and states |
| AxCheckbox | A checkbox control with properties similar to that of the button
| AxSwitch | A variation on the checkbox with no Winforms native equivalent |
| AxRadioButton | A radio button with colors, sizes and styles |
| AxImage | A picture box control with added facilities for rounded borders, and set aspect ratios |
| AxInput | A textbox with placeholder, colors, sizes, styles, states etc |
| AxSelect | A combobox with colors, sizes, styles and an animated dropdown arrow |
| AxBox | A panel with colors, styles, rounded borders and shadows |
| AxHoverableBox | Similar to AxBox, but has an animated hover-effect |
## Overview
Here's a quick overview of the main properties for buttons. Many of Axiom's controls share these properties, so they're a good place to start.
### Colors
Choose from plain colors:

Opt for bright eye-catching colors:

Or, toggle the **Light** property for the light version:

### Sizes
There are four main sizes of control in Axiom:
- Small
- Normal
- Medium
- Large
Sizes are set using the **Shape** property.

### Styles
#### Outlined
You can create a lighter-weight button with **Outlined**:

#### Inverted
Or invert the foreground and background colors with **Inverted**:

#### Rounded
You can even create pill-style buttons with **Rounded**:

You can also combine these properties at the same time.
### States
The state of a control affects its style.
#### Normal

#### Hover

#### Focus

#### Active

#### Loading

#### Disabled

## Inspiration
The style of Axiom controls is inspired by [Bulma.io](https://bulma.io), a fantastic CSS framework for web development. Axiom brings a similar aesthetic and usability to Winforms applications.