BizHawk/BizHawk.Client.EmuHawk/CustomControls/MenuButton.cs

34 lines
864 B
C#

using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
namespace BizHawk.Client.EmuHawk
{
public class MenuButton : Button
{
[DefaultValue(null)]
public ContextMenuStrip Menu { get; set; }
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (Menu != null && e.Button == MouseButtons.Left)
{
Menu.Show(this, e.Location);
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
int arrowX = ClientRectangle.Width - 14;
int arrowY = ClientRectangle.Height / 2 - 1;
Brush brush = Enabled ? SystemBrushes.ControlText : SystemBrushes.ButtonShadow;
Point[] arrows = { new Point(arrowX, arrowY), new Point(arrowX + 7, arrowY), new Point(arrowX + 3, arrowY + 4) };
e.Graphics.FillPolygon(brush, arrows);
}
}
}