MaterialSkin icon indicating copy to clipboard operation
MaterialSkin copied to clipboard

Major Improvements

Open leocb opened this issue 4 years ago • 10 comments

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

leocb avatar Oct 04 '19 21:10 leocb

I want to try the drawer menu.

ghost avatar Oct 07 '19 15:10 ghost

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

leocb avatar Oct 07 '19 15:10 leocb

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.

ghost avatar Oct 08 '19 08:10 ghost

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

leocb avatar Oct 08 '19 13:10 leocb

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

diegojancic avatar Dec 13 '19 12:12 diegojancic

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

leocb avatar Dec 23 '19 17:12 leocb

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

MahdiElahi avatar Mar 22 '20 14:03 MahdiElahi

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

leocb avatar Mar 22 '20 16:03 leocb

thanks  i create a new issue in your repository  On Sunday, March 22, 2020, 09:00:51 PM GMT+4:30, Leo Bottaro [email protected] wrote:

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

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

MahdiElahi avatar Mar 23 '20 05:03 MahdiElahi

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?

darraghomalley avatar Jan 15 '22 10:01 darraghomalley