Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Fizyka w szkole

Przechwytywanie zdarzeń myszy

Podobnie jak klawiatura, mysz również wysyła komunikaty związane bieżącą pozycją kursora oraz wciśniętego lub zwolnionego rodzaju klawisza. Ponadto można przechwycić zdarzenie rozpoczęcia przebywania kursora myszy w obszarze danego komponentu oraz opuszczenia przez kursor myszy tego obszaru.

Cel: Napisz aplikację, która poda bieżące współrzędne kursora myszy, poda rodzaj wciśniętego lub zwolnionego klawisza oraz dokona zmiany koloru w trakcie wejścia kursora w obszar wybranego komponentu.

zdarzenia myszy visual studio

Krok 1. Układ komponentów

Na formatce umieścimy poniższe komponenty

  • StatusStrip- sztuk 1
  • Panel- sztuk 1
formatka visual studio

W komponencie StatusStrip dodajemy dwa komponenty ToolStripStatusLabel. Właściwość Dock komponentu Panel ustawiamy na Fill

Dock panel visual studio

Krok 2. Przechwytujemy współrzędne myszy

W obszarze komponentu Panel będziemy przechwytywać zdarzenia pochodzące od myszy. Zdarzenie MouseMove pozwala śledzić ruch kursora myszy

Bieżąca pozycję kursora myszy po przechwyceniu wyświetlimy w komponencie toolStripStatusLabel1. Zastosujemy poniższe rozwiązanie pozwalające odczytać odpowiednią właściwość argumentu e klasy MouseEventArgs

private void Panel1_MouseMove(object sender, MouseEventArgs e)
{
toolStripStatusLabel1.Text = "x: " + e.X.ToString()+" y: "+e.Y.ToString();
}

Krok 3. Przechwytujemy wciśnięcie klawisza myszy

Komunikat zdarzenie wciśnięcia klawisza myszy odczytamy funkcją MouseDown

MouseDown Visual Studio zdarzenia myszy

Przechwyconą wartość wyświetlimy w komponencie toolStripStatusLabel2


private void Panel1_MouseDown(object sender, MouseEventArgs e)
{
toolStripStatusLabel2.Text = "Wciśnięto klawisz myszy: " + e.Button.ToString() + wsp. x: "+ e.X.ToString()+ " y: "+e.Y.ToString();
}

Krok 4. Przechwytujemy zdarzenie zwolnienia klawisza myszy

Komunikat zdarzenie zwolnienia klawisza myszy odczytamy funkcją MouseUp

MouseUp zdarzenie zwolnienia myszy visual studio

Przechwyconą wartość wyświetlimy w komponencie toolStripStatusLabel2

private void Panel1_MouseUp(object sender, MouseEventArgs e)
{
toolStripStatusLabel2.Text = "Zwolniono klawisz myszy: " + e.Button.ToString() + " wsp. x: " + e.X.ToString() + " y: " + e.Y.ToString();
}

Jeżeli teraz skompilujemy program, to powinniśmy odczytać wszystkie trzy zdarzenia

Krok 5. Zmieniamy kolor paska stanu (komponent StatusStrip)

Zmianę koloru komponentu StatusStrip wykonany w momencie najechania kursorem myszki w obszar tego komponentu. Komunikat tego zdarzenia rejestrowany jest w funkcji MouseHover. Do realizacji zmiany koloru posłużymy się tym kodem

private void StatusStrip1_MouseHover(object sender, EventArgs e)
{
statusStrip1.BackColor = Color.FromArgb(0, 255, 0);
}

Efekt zobaczymy po skompilowaniu projektu

zdarzenia myszy i ich odczyt visual studio

Krok 6. Przywracamy początkowy kolor komponentu StatusStrip

Aby zrealizować to zadanie musimy odczytać początkowy kolor komponentu StatusStrip. Posłużymy się zmienną typu Color, którą zadeklarujemy jako prywatną

public partial class Form1 : Form
{
private static Color kolor;
public Form1()

Moment przywrócenia koloru wykonamy w funkcji przechwytującej komunikat opuszczenia komponentu MouseLeave


private void StatusStrip1_MouseLeave(object sender, EventArgs e)
{
statusStrip1.BackColor = kolor;
}

Ćwiczenie sprawdzające

Zmodyfikuj aplikacje w taki sposób, aby po kliknięciu w obszarze komponentu Panel pojawiło się okno dialogowe umożliwiające zamknięcie aplikacji

zwolnienie klawisza myszy komunikat visual studio
DialogResult wynik = MessageBox.Show("Czy zamknąć program?", "Komunikat", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (wynik == DialogResult.Yes) { this.Close(); } else { return; }


Aplikacje na Androida

Okręty- bitwa morska
okręty gra sieciowa
Darmowa aplikacja na Androida
Kalkulator jednostek fizycznych
Kalkulator jednostek fizycznych (tablet, smartfon, telefon)
Znaki drogowe.
znaki drogowe na telefon, tablet, smartfon
Darmowa aplikacja na Androida
Geometria. Wzory
geometri kalkulator wzory figur bryl

© baibaz - stock.adobe.com

przepis na gofryZobacz przepis na wyśmienite gofry