|
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
namespace GameExample
{
public class GameButton : TransparentControl
{
private const string _defaultFontName = "Segoe Print Bold";
private static readonly Color _defaultColorOn;
private static readonly Color _defaultColorOff;
private static readonly Font _defaultFont;
public GameButton()
{
HorizontalAlignment = HorizontalAlignment.Center;
VerticalAlignment = VerticalAlignment.Top;
}
[EditorBrowsable(EditorBrowsableState.Always)]
public Color ColorOn
{
get;
set;
}
[EditorBrowsable(EditorBrowsableState.Always)]
public Color ColorOff
{
get;
set;
}
[EditorBrowsable(EditorBrowsableState.Always)]
public string ButtonText
{
get;
set;
}
public HorizontalAlignment HorizontalAlignment
{
get;
set;
}
public VerticalAlignment VerticalAlignment
{
get;
set;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using (SolidBrush brush = new SolidBrush(ForeColor))
{
e.Graphics.DrawString(
ButtonText,
Font,
brush,
new Rectangle(0, 0, Width, Height),
new StringFormat() { Alignment = (StringAlignment)this.HorizontalAlignment, LineAlignment = (StringAlignment)this.VerticalAlignment }
);
}
}
}
public enum HorizontalAlignment
{
Left = 0,
Center = 1,
Right = 2
}
public enum VerticalAlignment
{
Top = 0,
Center = 1,
Bottom = 2
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.