Pytanie 1
Dana jest obsługa zdarzenia MouseDown formularza Windows Forms. Jaki tekst pojawi się w etykiecie lblInfo po kliknięciu prawym przyciskiem myszy w punkcie formularza o współrzędnych x = 120, y = 45?
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
lblInfo.Text = "L " + e.X;
else if (e.Button == MouseButtons.Right)
lblInfo.Text = "P " + e.Y;
}Dlaczego tak
Właściwość Button obiektu MouseEventArgs wskazuje, który przycisk myszy wciśnięto; dla prawego przycisku ma wartość MouseButtons.Right, więc wykonuje się druga gałąź warunku. W tej gałęzi do tekstu „P ” dołączana jest współrzędna Y, czyli 45. Odpowiedź „P 120” wynika z pomylenia e.X z e.Y, a odpowiedzi zaczynające się od L dotyczyłyby kliknięcia lewym przyciskiem.