This commit is contained in:
Ray 2020-05-10 11:34:45 +01:00
parent adeb97dbb5
commit 7722340560
13 changed files with 70 additions and 98 deletions

View File

@ -122,7 +122,6 @@
<Compile Include="RyzStudio\Windows\ThemedForms\TextButtonBox.designer.cs"> <Compile Include="RyzStudio\Windows\ThemedForms\TextButtonBox.designer.cs">
<DependentUpon>TextButtonBox.cs</DependentUpon> <DependentUpon>TextButtonBox.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\ThemeStyle.cs" />
<Compile Include="RyzStudio\Windows\ThemedForms\UserControl.cs"> <Compile Include="RyzStudio\Windows\ThemedForms\UserControl.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>

View File

@ -106,7 +106,19 @@ namespace RyzStudio.Windows.Forms
[Browsable(false)] [Browsable(false)]
public Style StyleDefault { get; set; } = new Style(); public Style StyleDefault { get; set; } = new Style();
public void PerformClick() => this.OnClick(null); public void PerformClick()
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() => {
this.OnClick(null);
}));
}
else
{
this.OnClick(null);
}
}
} }
} }

View File

@ -1,9 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
public enum ButtonState
{
Normal = 0,
Hover,
Down
}
}

View File

@ -1,25 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System.Drawing;
public class ButtonStyle
{
public Color BackColour { get; set; }
public Color PenColour { get; set; }
public Image ForeImage { get; set; } = null;
public ButtonStyle(Color backColour, Color penColour)
{
this.BackColour = backColour;
this.PenColour = penColour;
this.ForeImage = null;
}
public ButtonStyle(Color backColour, Color penColour, Image foreImage)
{
this.BackColour = backColour;
this.PenColour = penColour;
this.ForeImage = foreImage;
}
}
}

View File

@ -6,11 +6,11 @@
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
public partial class TextButtonBox : RyzStudio.Windows.ThemedForms.UserControl public partial class ButtonTextBox : RyzStudio.Windows.ThemedForms.UserControl
{ {
protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6); protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6);
public TextButtonBox() : base() public ButtonTextBox() : base()
{ {
InitializeComponent(); InitializeComponent();
@ -63,7 +63,7 @@
break; break;
case Keys.Escape: case Keys.Escape:
tryClose(); close();
break; break;
default: break; default: break;
} }
@ -112,7 +112,7 @@
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } } public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } }
protected override void updateBackground(Graphics g, ThemeStyle style) protected override void updateBackground(Graphics g, Style style)
{ {
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;

View File

@ -1,6 +1,6 @@
namespace RyzStudio.Windows.ThemedForms namespace RyzStudio.Windows.ThemedForms
{ {
partial class TextButtonBox partial class ButtonTextBox
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.

View File

@ -50,7 +50,7 @@
break; break;
case Keys.Escape: case Keys.Escape:
tryClose(); close();
break; break;
default: break; default: break;
} }
@ -83,7 +83,7 @@
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get => base.Margin; set => base.Margin = value; } public new Padding Margin { get => base.Margin; set => base.Margin = value; }
protected override void updateBackground(Graphics g, ThemeStyle style) protected override void updateBackground(Graphics g, Style style)
{ {
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;

View File

@ -49,7 +49,7 @@
break; break;
case Keys.Escape: case Keys.Escape:
tryClose(); close();
break; break;
default: break; default: break;
} }
@ -82,7 +82,7 @@
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } } public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } }
protected override void updateBackground(Graphics g, ThemeStyle style) protected override void updateBackground(Graphics g, Style style)
{ {
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;

View File

@ -1,34 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System.Drawing;
public struct ThemeStyle
{
public int BorderWidth;
public int BorderRadius;
public int BorderPadding;
public Color BorderColour;
public Color BackColour;
public Color ForeColour;
public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = Color.Black;
}
public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour, Color foreColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = foreColour;
}
}
}

View File

@ -1,15 +1,44 @@
namespace RyzStudio.Windows.ThemedForms using System;
{
using System;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using RyzStudio.Drawing; using RyzStudio.Drawing;
using System.ComponentModel; using System.ComponentModel;
namespace RyzStudio.Windows.ThemedForms
{
public partial class UserControl : System.Windows.Forms.UserControl public partial class UserControl : System.Windows.Forms.UserControl
{ {
//protected ThemeStyle styleActive = new ThemeStyle(1, 3, 2, Color.FromArgb(112, 112, 112), Color.White); public class Style
protected ThemeStyle styleActive = new ThemeStyle(1, 3, 2, Color.FromArgb(212, 212, 212), Color.White); {
public int BorderWidth;
public int BorderRadius;
public int BorderPadding;
public Color BorderColour;
public Color BackColour;
public Color ForeColour;
public Style(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = Color.Black;
}
public Style(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour, Color foreColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = foreColour;
}
}
protected Style styleActive = new Style(1, 3, 2, Color.FromArgb(212, 212, 212), Color.White);
public UserControl() public UserControl()
{ {
@ -39,7 +68,7 @@
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; } public new Padding Padding { get => base.Padding; set => base.Padding = value; }
protected virtual void updateBackground(Graphics g, ThemeStyle style) protected virtual void updateBackground(Graphics g, Style style)
{ {
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding; int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
@ -50,7 +79,7 @@
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath()); g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
} }
protected virtual void tryClose() protected virtual void close()
{ {
if (this.Parent == null) if (this.Parent == null)
{ {

View File

@ -23,9 +23,9 @@ namespace AppLauncher.Windows.Forms
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private TextButtonBox textBox2; private ButtonTextBox textBox2;
private TextBox textBox3; private TextBox textBox3;
private TextButtonBox textBox4; private ButtonTextBox textBox4;
private Button button1; private Button button1;
private PickerBox pickerBox1; private PickerBox pickerBox1;
private PickerBox pickerBox2; private PickerBox pickerBox2;
@ -63,9 +63,9 @@ namespace AppLauncher.Windows.Forms
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.textBox2 = new RyzStudio.Windows.ThemedForms.TextButtonBox(); this.textBox2 = new RyzStudio.Windows.ThemedForms.ButtonTextBox();
this.textBox3 = new RyzStudio.Windows.ThemedForms.TextBox(); this.textBox3 = new RyzStudio.Windows.ThemedForms.TextBox();
this.textBox4 = new RyzStudio.Windows.ThemedForms.TextButtonBox(); this.textBox4 = new RyzStudio.Windows.ThemedForms.ButtonTextBox();
this.button1 = new RyzStudio.Windows.ThemedForms.Button(); this.button1 = new RyzStudio.Windows.ThemedForms.Button();
this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox();
this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox();

View File

@ -19,9 +19,9 @@ namespace AppLauncher.Windows.Forms
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private TextButtonBox textBox2; private ButtonTextBox textBox2;
private TextBox textBox3; private TextBox textBox3;
private TextButtonBox textBox4; private ButtonTextBox textBox4;
private Button button1; private Button button1;
private PickerBox pickerBox1; private PickerBox pickerBox1;
private PickerBox pickerBox2; private PickerBox pickerBox2;
@ -56,9 +56,9 @@ namespace AppLauncher.Windows.Forms
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.textBox2 = new RyzStudio.Windows.ThemedForms.TextButtonBox(); this.textBox2 = new RyzStudio.Windows.ThemedForms.ButtonTextBox();
this.textBox3 = new RyzStudio.Windows.ThemedForms.TextBox(); this.textBox3 = new RyzStudio.Windows.ThemedForms.TextBox();
this.textBox4 = new RyzStudio.Windows.ThemedForms.TextButtonBox(); this.textBox4 = new RyzStudio.Windows.ThemedForms.ButtonTextBox();
this.button1 = new RyzStudio.Windows.ThemedForms.Button(); this.button1 = new RyzStudio.Windows.ThemedForms.Button();
this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox();
this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox();