none
Text einer Textbox selektiert ausgeben RRS feed

  • Frage

  • Hallo,

    aktuell spiele ich mit Sprachausgabe rum. Dabei habe ich ein Textfeld, das nach Texteingabe und Tastendruck den eingegebenen Text spricht.
    Nun möchte ich das etwas leistungsfähiger ausbauen und folgende drei Einstellungen haben.

    1. Bei der Eingabe in das Textfeld wird der jeweisl getippte Buchstabe gesprochen
    2. Bei der Eingabe wird, nachdem ich die Leertaste drücke das zuletzt geschriebene Wort gesprochen
    3. Eine Kombination aus 1 und 2 alsos sowohl den Tastenanschlag als auch das komplette Wort sprechen

    Mein aktueller Code sieht so aus:
    Private Sub btnReadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReadFile.Click
    
            Try
                vox.Rate = RateOfSpeech
                vox.Speak(txtReadFile.Text.ToString(), SpeechVoiceSpeakFlags.SVSFlagsAsync)
            Catch ex As Exception
                'Erst mal keine Meldung
            End Try




    Die drei Einstellungen regle ich über eine Checkbox

    Kann mir jemand helfen?


    Liebe Grüße Stefan
    Samstag, 17. Oktober 2009 14:30

Antworten

  • Hallo Stefan,

    je nachdem, wann der Text gesprochen werden soll, behandelst du für die Textbox die Ereignisse KeyDown, KeyPress oder KeyUp.

    Über die KeyEventArgs (e) erhältst du alle gewünschten Informationen. Beispielsweise:

    If e.KeyCode = Keys.Space Then
        'Aufruf deiner Methode
    End If

    Die gedrückte Taste ermittelst du mit e.KeyData oder e.KeyValue.

    Viele Grüße
    Jan
    • Als Antwort markiert Giftzwockel Sonntag, 18. Oktober 2009 14:16
    Sonntag, 18. Oktober 2009 10:05