Как мне вызвать метод, который имеет MouseEventArgs? - PullRequest
0 голосов
/ 10 декабря 2018

Я боролся с чем-то некоторое время.У меня есть крючок, который определяет движение мыши, и я не могу вызвать его повторно.Это просто дает мне ошибки, я понятия не имею, как это назвать.Вот код

private IKeyboardMouseEvents m_GlobalHook;

    public int x;
    public int y;



    public void Subscribe()
    {
        // Note: for the application hook, use the Hook.AppEvents() instead
        m_GlobalHook = Hook.GlobalEvents();

        m_GlobalHook.MouseDownExt += GlobalHookMouseDownExt;
        m_GlobalHook.KeyPress += GlobalHookKeyPress;
    }

    public void Unsubscribe()
    {
        m_GlobalHook.MouseDownExt -= GlobalHookMouseDownExt;
        m_GlobalHook.KeyPress -= GlobalHookKeyPress;

        //It is recommened to dispose it
        m_GlobalHook.Dispose();
    }



    private bool mouseDown;
    private Point lastLocation;

    public Form1()
    {
        InitializeComponent();

    }


    private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
    {

    }

    private void GlobalHookMouseDownExt(object sender, MouseEventExtArgs e)
    {
        label7.Text = "IsDown: Yes";
        this.Cursor = new Cursor(Cursor.Current.Handle);
        Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y + trackBar1.Value);
        GlobalHookMouseDownExt; // This thing doesn't work, no matter if I use brackets or not to call it, it just doesn't work.
    }

Кроме того, если я введу ноль, ноль.Я получаю исключение stackoverflow.

...