Enter Funktion umprogrammieren

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von wsk1000.

    Enter Funktion umprogrammieren

    Hallo,
    Ich arbeite gerade in meiner Schule an einer Website. Da meine Klassenkammerdaen alle nicht programmieren können, habe ich gesagt, dass ich ihnen dabei helfen werde.
    Und zwar:
    Ich programmiere ein Programm, welches den HTML Code automatisch erstellt.
    Meine Frage ist, ob und wie es möglich ist, die Enter Taste so umzuprogrammieren: Nach dem sie gedrückt wurde, wird ein Tag (<br />) eingefügt wird, und dann erst ein Zeilenumbruch eingefügt.

    Wäre sehr hilfreich wenn jemand Antworten würde!
    Danke sehr im voraus!
    wsk1000
    Ja das ist möglich entweder simple mit dem KeyDown Event,
    oder mit einem globalen Hotkey.

    Wenn du eine Textbox benutz:

    VB.NET-Quellcode

    1. Select Case e.KeyData
    2. Case Keys.Enter
    3. 'Enter wurde gedrückt.
    4. End Select


    Ich nehme mal an du verstehst den Code, und man muss dir hier nichts erklären.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gather“ ()

    Hi,

    was hast du denn bisher versucht?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    Lukas schrieb:

    Hi, was hast du denn bisher versucht?
    Ein Key Down Event:

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.Enter Then Textbox1.Text = Textbox1.Text & "<br />" e.Handled = TrueEndIf



    Bis jetzt ist es so, dass es zwar eingefügt wird, aber eine Zeile danach. sprich:

    Eingabe vor Enter:
    Hallo

    Eingabe nach Enter:

    Hallo<br />

    ich will aber, dass kein Zeilenumbruch gemacht wird. ?(
    Das halte ich für keine gute Idee. Überleg mal was da zur Folge hätte. Wenn du immer statt einem Zeilenumbruch "<br />" einfügst, dann gibt es gar keine Zeilenumbrüche mehr, also der gesamte Quelltext wäre in einer Zeile. Das kann dann kein Mensch mehr lesen.

    Artentus schrieb:

    ... Wenn du immer statt einem Zeilenumbruch "
    " einfügst, dann gibt es gar keine Zeilenumbrüche mehr, also der gesamte Quelltext wäre in einer Zeile. Das kann dann kein Mensch mehr lesen.
    Naja... Ich will ja eigentlich eh einen Zeilenumbruch, aber erst nach dem Tag, und nicht so:

    Bsp.:
    (Hier sollte es stehen)
    (Da steht's aber): Hallo <br />

    ----------------------------------------
    Shortcuts ist eine gute Idee.
    Aber wie?

    So ähnlich, oder?

    VB.NET-Quellcode

    1. If my.Computer.Keyboard.Strg + ?Enter ? Then
    2. textbox1.text += "<br />" & vbClrd (ka wie das jetzt genau heißt)
    3. endIf

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „wsk1000“ () aus folgendem Grund: Wegen eines andern Kommentar

    Ganz einfach du benutzt e.SuppressKeyPress (Oder wie das heißt) davor.
    Dann wird es nicht übernommen, dann fügst du das Tag hinzu und danach das Enter.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    So sollte es gehen:

    VB.NET-Quellcode

    1. Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    2. 'Überprüfen, ob Strg-Taste und Enter gedrückt wurden
    3. If e.Control AndAlso e.KeyCode = Keys.Enter Then
    4. 'Angeben, dass die Taste nicht weitergegeben werden soll
    5. e.SuppressKeyPress = False
    6. 'Die aktuelle Position des Cursors
    7. Dim SelectionStart As Integer = TextBox1.SelectionStart
    8. 'Den Text verändern
    9. TextBox1.Text = TextBox1.Text.Remove(SelectionStart, TextBox1.SelectionLength).Insert(SelectionStart, "<br/>")
    10. 'Den Cursor an die richtige Position verschieben
    11. TextBox1.Select(SelectionStart + "<br/>".Length, 0)
    12. End If
    13. End Sub