Как передать управление работой мыши, когда кнопка еще нажата - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть серия событий для Panel - MouseDown, MouseMove, MouseUp.У меня также есть обработчики событий для Label на этом Panel.Но в некоторых случаях я хочу, чтобы обработчик MouseMove Label передавал управление операции обработчикам Panel.Проблема в том, что действие «заблокировано» для Label, поэтому что-то вроде panel1.MouseMove += ... не поможет, потому что panel1.MouseMove не будет повышен до MouseUp.Есть ли способ «передать управление» операции?

Вот простой пример того, что у меня есть: (label1 на panel1).

public Form1()
{
    InitializeComponent();
    label1.MouseDown += label1_MouseDown;
}

void label1_MouseDown(object sender, MouseEventArgs e)
{
    panel1.MouseMove += panel1_MouseMove;
}

void panel1_MouseMove(object sender, MouseEventArgs e)
{
    Text = "success";
}

Текстне изменяется до MouseUp.

1 Ответ

1 голос
/ 20 февраля 2012

Вы можете просто вызвать panel1_MouseMove в label1_MouseDown, когда это необходимо.

void label1_MouseDown(object sender, MouseEventArgs e)
{
    panel1_MouseMove(null, EventArgs.Empty);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...