Entwickler-Ecke
WinForms - Mouseposition ermitteln
c#ler - Di 07.06.11 11:43
Titel: Mouseposition ermitteln
Alle Tutorials oder beiträge, die ich zu dieser Thematik fand, funktionierten entweder nicht oder ich konnte Sie nicht umsetzen, weshalb ich etws hilfe von erfahrenen Kollegen benötige.
Ich arbeite mit:
- c#
- Visual Studio 2008
- .Net Framework 3.5
- Windows CE Gerät (.Net Compact-Framework 2.0)
Ich versuche die Mausposition zu ermitteln um ein Scrollen im Programm (per Touch) möglich zu machen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public void Mouse(object sender, MouseEventArgs m) { int startPoint; int x = MousePosition.X; int y = MousePosition.Y; if(y > startPoint) { } } |
Problem:
Ich muss einen Startpoint definieren (Ich brauche eine Funktion, die mir die aktuelle Mausposition ermittelt)
Hierfür habe ich es mit Rectangle und PointToScreen versucht, aber das wollte nicht richtig (ich schiebe es mal auf windows CE)
Vielen Dank
jonnysingh - Mi 08.06.11 18:47
Hallo c#ler,
ich hab folgendes verwenden um die Mausposition zu ermitteln, was bei mir sehr gut funktioniert:
C#-Quelltext
1: 2: 3: 4:
| private void Form1_MouseMove(object sender, MouseEventArgs e) { textBox1.Text = string.Format("X:{0}, Y:{1}", e.X, e.Y); } |
Hoffe, dass dies das richtige ist, was du suchst und/oder dir weiter hilfe
MfG
Jonny
c#ler - Do 09.06.11 11:35
jonnysingh hat folgendes geschrieben : |
Hallo c#ler,
ich hab folgendes verwenden um die Mausposition zu ermitteln, was bei mir sehr gut funktioniert:
C#-Quelltext 1: 2: 3: 4:
| private void Form1_MouseMove(object sender, MouseEventArgs e) { textBox1.Text = string.Format("X:{0}, Y:{1}", e.X, e.Y); } |
Hoffe, dass dies das richtige ist, was du suchst und/oder dir weiter hilfe
MfG
Jonny |
Naja...so richtig hilfreich ist es leider nicht.
Wenn ich deinen code richtig interpretiere übergibst du der Textbox - Parameter (y und x)....aber du ermittelst nichts...
Damit komm ich leider nicht weiter, aber trotzdem danke für den Versuch
thepaine91 - Do 09.06.11 12:09
Du interpretierst den Code falsch. Form1_MouseMove ist ein Event welches auslöst sobald die Maus auf dem Formular bewegt wird. ^^ e.X (horizontal) und e.Y (vertikal) sind die Position der Maus.
Das ist doch eigentlich genau das was du willst.
norman2306 - Do 09.06.11 14:26
Probiere es mal damit:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| bool mouseIsDown = false;
private void Form1_MouseDown(object sender, MouseEventArgs e) { mouseIsDown = true; pos_y = e.Y; }
private void Form1_MouseUp(object sender, MouseEventArgs e) { mouseIsDown = false; }
int pos_y = 0;
private void Form1_MouseMove(object sender, MouseEventArgs e) { if(mouseIsDown) { int value = scrollbar1.Value + (e.Y - pos_y); scrollbar1.Value = scrollbar1.Value < scrollbar1.Minimum ? scrollbar1.Minimum : scrollbar1.Value > scrollbar1.Maximum ? scrollbar1.Maximum : value; } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!