public partial class A0_Form : Form
{
private bool dragging;
private Point pointClicked;
public A0_Form()
{
InitializeComponent();
}
private void Panel_Title_MouseDown(object sender, MouseEventArgs e)
{
dragging = (e.Button == MouseButtons.Left);
pointClicked = (e.Button == MouseButtons.Left) ? (new Point(e.X, e.Y)) : pointClicked;
}
private void Panel_Title_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point pointMoveTo;
pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
this.Location = pointMoveTo;
}
}
private void Panel_Title_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
}
i want to put the 3 event to a static class ,so when i create new form , i just need to add those eventhandler rather than copy those 3 event everytime
Panel_Title_MouseDown,
Panel_Title_MouseMove,
Panel_Title_MouseUp
but there is a problem about the 2 global var , how to solve it ?
private bool dragging;
private Point pointClicked;
class sample:
public static class Common_Event
{
public static void Panel_Title_AddEvent(Panel pan)
{
pan.MouseDown += new MouseEventHandler(Panel_Title_MouseDown);
pan.MouseMove += new MouseEventHandler(Panel_Title_MouseMove);
pan.MouseUp += new MouseEventHandler(Panel_Title_MouseUp);
}
private void Panel_Title_MouseDown(object sender, MouseEventArgs e)
{
dragging = (e.Button == MouseButtons.Left);
pointClicked = (e.Button == MouseButtons.Left) ? (new Point(e.X, e.Y)) : pointClicked;
}
private void Panel_Title_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point pointMoveTo;
pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
this.Location = pointMoveTo;
}
}
private void Panel_Title_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
}
form sample:
public partial class A0_Form : Form
{
private bool dragging;
private Point pointClicked;
public A0_Form()
{
InitializeComponent();
Common_Event.Panel_Title_AddEvent(pan);
}
}