Zwischenablage

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Selter98.

    Zwischenablage

    Hallo!

    Wie kann ich herausfinden, welches Steuerelement aktiv ist und wo sich der Cursor befindet, um einen Text aus der Zwischenablage an der Stelle des Cursors einzufügen?

    Wie kann ich einen markierten Text aus einem Steuerelement (in der Regel TextBox) in die Zwischenablage kopieren, bzw. ausschneiden?

    Wie kann ich den kompletten Text eines Steuerelements markieren (Bearbeiten->Alle auswählen)?

    Wie funktioniert das mit dem "Rückgängig" und "Wiederholen"? oder anders gefragt: Wie merkt sich das Programm, welchen Text vor der Bearbeitung in der TextBox stand?

    Selter98 schrieb:

    Wie kann ich herausfinden, welches Steuerelement aktiv ist
    Kommt darauf an, was genau Du machen willst. Wenn Du wissen willst, über welchem Steuerelement dein Cursor ist, wenn Du linksklick machst, dann musst Du im Init mit einer Schleife alle deine Steuerelemente in deiner Form durchgehen und den Hoverevent einenen Handler zuweisen, der anspringt, wenn der Cursor über dem Element ist und eine Meldung von sich gibt. Bzw anstatt des Hover Events kannst Du auch das GotFocus Event verwenden.

    Selter98 schrieb:

    wo sich der Cursor befindet, um einen Text aus der Zwischenablage an der Stelle des Cursors einzufügen
    Event einrichten, dass dich benachrichtigt über welcher Textbox dein Cursor ist, dann die Cursorposition in Relation zu Fenstergröße ausrechnen, Textgröße anhand der Schriftart ausrechnen, ... kommt wieder darauf an, was genau Du machen willst. Müsstest Du näher erklären

    Selter98 schrieb:

    Wie kann ich einen markierten Text aus einem Steuerelement (in der Regel TextBox) in die Zwischenablage kopieren, bzw. ausschneiden
    Naja zum ausschneiden kannst Du mit der Tastatur Strg+X machen. Wenn Du genauer erklären würdest WAS genau und vor allem WO genau Du das machen willst, könnten wir dir besser helfen.

    Selter98 schrieb:

    Wie kann ich den kompletten Text eines Steuerelements markieren (Bearbeiten->Alle auswählen)
    Keine Ahnung wie Du das meinst.

    Selter98 schrieb:

    Wie funktioniert das mit dem "Rückgängig" und "Wiederholen"? oder anders gefragt: Wie merkt sich das Programm, welchen Text vor der Bearbeitung in der TextBox stand?
    Das ließe sich mit einer LIFO Liste lösen. Wenn Du eine Änderung machst, dann leg vor jeder Änderung den aktuellen Stand der Textbox in einer LIFO Liste ab und wenn der User Strg+Z drückt, dann lösch den Inhalt der Textbox und leg den aktuellen Eintrag des Stapels in die Textbox ab.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    @Selter98 Mit Deiner Geheimhaltung kommst Du nicht weit.
    So was:
    Ich hab da ne TextBox und möchte an der Stelle des Cursors den Inhalt der Zwischenablage einfügen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Selter98 schrieb:

    Wenn ich einen Text in einer TextBox markiert habe, lässt sich dieser nicht mit Strg+X ausschneiden.
    Doch. Es sei denn, die TextBox ist speziell präpariert. Wenn sie das ist, z.B. ReadOnly = True - dann ist es Deine Aufgabe uns alle relevanten Infos mitzuteilen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Dann lad mal bitte ein Minitestprojekt hoch, bei der die TextBox nicht auf Strg+X reagiert. Die normale TextBox reagiert ja normal auf die Tastenkombi.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Selter98 Was passiert, wenn Du mit dem Build-In-ContextMenu arbeitest?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Der ist noch leer. Daher dachte ich, ich könnte hier Hilfe bekommen, wie man mit der Zwischenablage arbeitet.

    VB.NET-Quellcode

    1. ​Private Sub AusschneidenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AusschneidenToolStripMenuItem.Click
    2. End Sub
    @Selter98
    Naja:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Clipboard.SetText(TextBox1.Text)
    3. End Sub

    Das reicht doch schon aus, um den Text einer Textbox in die Zwischenablage zu befördern und ihn darüber woanders mit STRG+V verfügbar zu haben.

    Erläutere doch bitte mal Dein grundsätzliches Problem!
    Gruss Alex