2015-03-25 8 views

Antwort

0

Es gibt keine codedui Methode für das, aber versuchen Sie Folgendes: fügen Sie den Referenz:

using System.Windows.Forms 

im Code, wo Sie die moue koordinierte Art erhalten müssen:

Point p = new Point(Cursor.Position.X, Cursor.Position.Y); 

Denken Sie daran, dass dies keine relative Position zum Steuerelement ist, sondern die Position der Maus auf dem Bildschirm.

Berechnung der Position des Punktes relativ zur Kontrolle sollte nicht viel Problem sein.

+0

Sorry mein Beitrag war nicht sehr klar, ich habe es bearbeitet: Ich meinte eigentlich die Position des Caret im Textinhalt des Feldes –

0

Ich bin nicht sicher, dass es einen Weg gibt, und ich würde mir vorstellen, dass es eine andere Anforderung als tatsächlich die Cursorposition zu finden ist.

Wenn Sie versuchen, etwas Text einzufügen, können Sie den Text immer in die Testmethode kopieren, den Text einfügen und zurückschreiben.

Oder, wenn Sie dies nicht tun müssen, können Sie immer die Keyboard.SendKeys-Methode verwenden, um einen Home-Befehl und dann eine beliebige Anzahl von Pfeil-Befehlen zu senden, die Sie benötigen, um den Cursor an die gewünschte Stelle zu setzen.

Können Sie genauer ausführen, was genau Sie mit der Cursorposition benötigen?

+0

Edited. Beachten Sie, dass wir etwas ähnliches tatsächlich als Workaround getan haben. Sie senden einfach einen Schlüssel, um ein Zeichen in das Feld einzufügen, und bestätigen dann, dass der Inhalt des Feldes das ist, was Sie erwarten würden, wenn der Cursor an der gewünschten Position gewesen wäre, z. sagen Sie wissen, der Text ist "ab" und Sie möchten, dass der Cursor ist zwischen dem a und der b Sie c senden und behaupten, dass der Text "acb" –

+0

Ich sehe Ihre Bearbeitung, aber das ist wirklich eine Anforderung zu bestätigen wo befindet sich der Cursor im Textfeld? dh, macht die Anwendung etwas, das erfordert, dass diese Position etwas Spezifisches ist? Ich versuche herauszufinden, was der Zweck für diese Behauptung ist. Textfelder arbeiten so, wie sie funktionieren, und es ist nicht wirklich notwendig, den Cursor zu testen, es sei denn, Ihre App tut etwas oder hat eine Anforderung bezüglich der Position. – MPavlak

+0

Ja glauben Sie mir, ich würde etwas anderes mit meiner Arbeitszeit machen, wenn es keine Voraussetzung wäre. Denken Sie an eine Anwendung mit einer komplexen Benutzeroberfläche, bei der die Zeit entscheidend ist und die daher vollständig mit einer Tastatur gesteuert werden kann und bei der jede Aktion in einer minimalen Anzahl von Tastendrücken ausgeführt werden muss. –