34 lines
864 B
C#
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);
|
|
}
|
|
}
|
|
} |