показать / скрыть форму, когда курсор находится в верхнем левом углу - PullRequest
1 голос
/ 13 июля 2009

У меня есть маленькая форма, которая выглядит так в vb.net

http://img11.imageshack.us/img11/5651/samplennk.jpg

Вы знаете, как можно настроить, чтобы панель задач Windows отображалась и исчезала, когда положение мыши полностью внизу? я хочу сделать то же самое с моей формой, когда мышь находится в левом верхнем углу экрана.

или, может быть, вы можете предложить мне другой способ сделать это. пользователь, вероятно, просто должен будет установить эти трекбары всего несколько раз во время их использования.

1 Ответ

2 голосов
/ 16 июля 2009

Вы могли бы просто иметь поток, который проверяет Cursor.Position, и когда это 0,0, форма появляется.

Это немного грубо, но установите начальное состояние окна формы на минимизированное значение.

public partial class Form1 : Form
{
    private delegate void ShowFormDel();
    private readonly ShowFormDel _ShowFormDel;
    private bool _CheckForMouse;

    public Form1()
    {
        InitializeComponent();
        _CheckForMouse = true;
        _ShowFormDel = ShowForm;
        Thread x = new Thread(CheckMouseThread);
        x.Start();
    }

    public void CheckMouseThread()
    {
        while (_CheckForMouse)
        {
            if (Cursor.Position.X < 5 && Cursor.Position.Y < 5)
            {
                this.Invoke(_ShowFormDel);
            }
            Thread.Sleep(1000);
        }
    }

    private void ShowForm()
    {
        this.Location = new Point(0, 0);
        this.WindowState = FormWindowState.Normal;
        this.Activate();
        this.Visible = true;
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        _CheckForMouse = false;
    }

    private void Form1_MouseLeave(object sender, System.EventArgs e)
    {
        this.WindowState = FormWindowState.Minimized;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...