Tytuły mówią wszystko. Mam panel, który działa jak biała tablica. Na ruch myszy narysuj ścieżkę myszy. Działa dobrze, ale jeśli mysz opuści krawędzie panelu, chcę wywołać zdarzenie zdarzenia myszy i zdarzenia myszy, jeśli mysz opuszcza panel, podczas gdy lewy przycisk zostanie klikniętyC# zdarzenia mouseleave i mouseenter nie będą uruchamiane po kliknięciu przycisku myszy
private void panel2_MouseLeave(object sender, EventArgs e)
{
if (mousedraw == true)
{
panel2_MouseUp(sender, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 0, MousePosition.X, MousePosition.Y, 0));
}
}
private void panel2_MouseEnter(object sender, EventArgs e)
{
if (mousedraw == true)
{
panel2_MouseDown(sender, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 0, MousePosition.X, MousePosition.Y, 0));
}
}
mousedraw jest bool wiedzieć, czy lewy przycisk zostanie kliknięty.
problemem jest: wydarzenia
urlopu i wprowadzić nie zadziała, gdy przycisk myszy jest naciśnięty.
Jest to efekt uboczny klasy podstawowej Control, która ustawia właściwość Capture na wartość true w przypadku zdarzenia "mouse down". To * nie * wymaga naprawiania, rysowania poza kontrolą Bounds nie pokazuje się tak. –