Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major Improvements #247

Open
wants to merge 588 commits into
base: master
Choose a base branch
from
Open

Major Improvements #247

wants to merge 588 commits into from

Conversation

leocb
Copy link

@leocb leocb commented Oct 4, 2019

This is based on the work done by donaldsteele

I've added some controls, improved others and fixed bugs

If you just can't wait for the PR to be merged, grab this version from my releases page: leocb/MaterialSkin/releases

You can also get my updated version from Nuget! Just search for Material Skin 2

sadly this also introduces some breaking changes. Here's the complete changelog:

Added

  • Drawer Control with several properties to configure and OnOpen/OnClose events
  • Material Switch
  • Floating Action Button (FAB)
  • Material Cards
  • Dropdown
  • Checkbox List
  • Flexible messagebox
  • Focus (tab) to Selection controls and Buttons
  • Function to Automatically add a drawer and drawer icon to the toolbar if you add a DrawerBaseTabControl to the Material Form properties
  • drop shadows to buttons, cards and FAB

Changed/Updated

  • Better performance
  • Updated Roboto fonts to the latest hinted version from google
  • Added Native Text renderer lib (Thanks @ArthurHub for his excelent post on The Art of Dev blog)
  • Completely redone every string draw call to use the less buggy, more efficient and correct GDI renderer
  • Slightly darker/lighter background color
  • Redone the material TextBox Code
  • Faster hover animation on some controls
  • Added Simple Color overload to ColorScheme constructor, this allows for custom colors outside of the Material Color pallet
  • Unified Button types - Change the type, emphasis and color by properties
  • Round corners on Buttons!
  • renamed TextField to TextBox to keep consistency with Microsoft's naming scheme
  • Softer text color
  • Changed tab selector to drawer in example app
  • Updated Example app
  • Code clean up

Fixed

  • Buttons now obey the AutoSize property
  • Buttons now have proper focused events
  • Fixed black corners on buttons
  • Fixed bugs on the Checkbox list control
  • Fixed bugs on the ListView Control
  • Labels now follow Emphasis settings
  • Fixed Text Alignment
  • progressbar progress changing when controls overlay it
  • MaterialListView selection/hover
  • Other minor bugfixes

Screenshots!

A simple demo interface with MaterialSkin components.
home

The MaterialSkin Drawer (menu). You can choose to either display the icons or completely close the drawer
drawer

Every MaterialSkin button variant - this is 1 control, 3 properties
buttons

The MaterialSkin checkboxes, radio and Switch.
selection

Material skin textfield and labels
text

Table control
table

Progress bar
progress bar

Cards
cards

MaterialSkin using a custom color scheme.
custom

FlexibleMaterial Messagebox
messagebox

@ghost
Copy link

ghost commented Oct 7, 2019

I want to try the drawer menu.

@leocb
Copy link
Author

leocb commented Oct 7, 2019

Sure thing, just follow the instruction on how to install from my fork.

Alternatively, the latest pre-compiled DLL can be downloaded from here

After that, follow these steps:

  1. Add the DLL as a reference in your project
  2. Drag and drop the DLL file to your visual studio toolbox to load the material skin components
  3. inherit the Material Form by modifying your Form code like this:
    public partial class MainForm : Form should become public partial class MainForm : MaterialForm,
    and don't forget to add using MaterialSkin; and using MaterialSkin.Controls; to the top of the code.
  4. Add a Material Tab Control to your Form, each tab is a menu item
  5. Click on your Form and select the tab control you created in the DrawerTabControl property, this should automatically enable the drawer button and take care of everything for you, just add/remove tabs and the code will do the rest automagically. If you want to use icons, add an ImageList and then add that to your TabControl.

These steps are also available on the WIKI

@ghost
Copy link

ghost commented Oct 8, 2019

Sure thing, just follow the instruction on how to install from my fork.

Alternatively, the latest pre-compiled DLL can be downloaded from here

After that, follow these steps:

  1. Add the DLL as a reference in your project
  2. Drag and drop the DLL file to your visual studio toolbox to load the material skin components
  3. inherit the Material Form by modifying your Form code like this:
    public partial class MainForm : Form should become public partial class MainForm : MaterialForm,
    and don't forget to add using MaterialSkin; and using MaterialSkin.Controls; to the top of the code.
  4. Add a Material Tab Control to your Form, each tab is a menu item
  5. Click on your Form and select the tab control you created in the DrawerTabControl property, this should automatically enable the drawer button and take care of everything for you, just add/remove tabs and the code will do the rest automagically. If you want to use icons, add an ImageList and then add that to your TabControl.

-thank you sir.

@leocb
Copy link
Author

leocb commented Oct 8, 2019

Glad to help, just keep in mind this still have some bugs, we`re tracking them in my issue tracker

@diegojancic
Copy link

@IgnaceMaes please consider adding @leocb as a committer to maintain this project. He's done really good work updating this. Thanks!

@leocb
Copy link
Author

leocb commented Dec 23, 2019

still NO conflicts?! lol
merging this (or using my lib) breaks existing apps. proceed with caution :)

@MahdiElahi
Copy link

How to set matrial drawer (menu) set right to left and showand hide from right of the main form?

@leocb
Copy link
Author

leocb commented Mar 22, 2020

Hi @MahdiElahi.
This is currently not supported on my version of the lib. Open a issue with this suggestion on my repository and we can continue there https://github.com/leocb/MaterialSkin

@MahdiElahi
Copy link

MahdiElahi commented Mar 23, 2020 via email

valimaties and others added 21 commits September 24, 2021 08:49
Controls location move
Added ReadOnly property to MaterialCheckBox object.
Add MaterialDialog.cs
Packaging a nuget package is much easier with this project as well
Provides consistent control positioning by referencing client area instead of form area
Removed unnecessary WndProc code for resizing due to changes
Minimal code cleanup

Fixes maximize bug that allowed "drifting" of the window
Fixes maximize bug that prevented the form from being maximized on a second monitor
Fixes maximize bug that required the program to be maximized prior to snapping maximized
valimaties and others added 9 commits November 19, 2021 09:02
Scrollable Drawer on MouseWheel and Click'n'Move implementation
Set default TabPage BackColor to white to avoid designer control background issue when background is set to transparent.
Fix MaterialListView text transparency. Seems to be related somehow with .NET 5.0.
@darraghomalley
Copy link

Hi, I'm loving material skin!!!! I don't seem to be able to programmatically rezise a MaterialSkin.Controls.MaterialForm in runtime in the same way you can resize a standard Winform via the form.Size property; am I missing something?

Simonaalina25 and others added 17 commits February 3, 2022 12:01
Fix MaterialExpansionPanel to use ShowValidationButtons property
…lText

Scroll text in a MaterialMultiLineTextBox2
Fixed MaterialComboBox SelectedIndexChanged not refreshing and improvement.
Removed 4.5 Target Framework from Core project
…xChanged

Issue on MaterialComboBox StartIndex property's set.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants