private void MouseHook_MouseMove(object sender, MouseEventArgs e)
{
if (mouseLeftDown && !OwnApplicationActive())
{
// Of course we have to be visible!
if (Visible)
{
// Don't get the form on top until we're close to it
if (Math.Sqrt(Math.Pow(Location.X + Size.Width / 2 - Cursor.Position.X, 2)
+ Math.Pow(Location.Y + Size.Height / 2 - Cursor.Position.Y, 2)) <= 48)
{
TopMost = true;
}
else
{
TopMost = false;
}
}
// Autohide stuff
if (Taskbar.GetTaskbarState() == Taskbar.TaskbarState.AutoHide)
{
bool mouseInTaskbar = MouseInTaskbar();
if (mouseDownAndWasInTaskbar != mouseInTaskbar)
{
mouseDownAndWasInTaskbar = mouseInTaskbar;
ShowDrop();
}
}
}
else
{
mouseDownAndWasInTaskbar = false;
}
}