Entwickler-Ecke

Basistechnologien - Mausposition neu festlegen lassen


Tonix - Mi 28.01.09 20:49
Titel: Mausposition neu festlegen lassen
Hallo
ich wollte ein kleines Programm schreiben be ider sich der Mauszeiger einfach über den Bildschirm bewegt(soll der Vorläufer für ein Spiel werden).
Dazu hab ich Varibalen festgelgt und wollte die MausPosition aus den Variablen bestimmen.
das sieht so aus:

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:
namespace Maus
{
    public partial class Form1 : Form
    {
        Int32 MausKoX, MausKoY;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
          
            MousePosition = new Point(MausKoX,MausKoY);
            
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            MausKoX += 10;
            MausKoY += 10;
        }
    }
}

Allerdings kommt darauf folgender Fehler:
"Einer Eigenschaft oder einem Indexer "System.Windows.Forms.Control.MousePosition" kann nichts zugewiesen werden -- sie sind schreibgeschützt."

Ist es denn überhaupt möglich das mein Programm den Mauszeiger derartig beeinflussen kann?
Wenn ja wäre es nett wenn mir einer ein Beispiel geben könnte wie ich das umsetzen kann

danke im Vorraus
Mfg Tonix

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


jaenicke - Mi 28.01.09 22:22

Im .NET Framework selbst konnte ich jetzt nichts entsprechendes finden. Und es ist ja auch nur in ganz seltenen Fällen sinnvoll das zu machen.

Du kannst aber unter Windows die entsprechende API-Funktion SetCursorPos benutzen:
http://msdn.microsoft.com/en-us/library/ms648394.aspx
Das müsste dann so aussehen nehme ich an:

C#-Quelltext
1:
2:
[DllImport("user32")]
public static extern int SetCursorPos(int x, int y);