rechtschreibprüfung

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von Loquax.

    rechtschreibprüfung

    hi

    ich wollte eine rechtschreibprüfung für meine richtextbox integrieren und habe das hier gefunden: visual-basic5.de/net/richtextb…pell_check_dictionary.htm

    leider funktioniert es nicht.

    Ich hhabe alle verweise eingefügt und folgendes in meinen code übernommen:

    VB.NET-Quellcode

    1. Imports System.Windows.Forms.Integration
    2. 'Rechtschreibprüfung
    3. Private WithEvents RichtextBox1 As New RichtextBoxSpellCheck
    4. Public Class RichtextBoxSpellCheck
    5. Inherits System.Windows.Controls.RichTextBox
    6. Public Sub New()
    7. Dim eh As ElementHost = New ElementHost
    8. System.Windows.Controls.SpellCheck.SetIsEnabled(Me, True)
    9. With eh
    10. .Child = Me
    11. .Dock = DockStyle.Fill
    12. End With
    13. Me.ElementHost = eh
    14. End Sub
    15. Private _elementhost As ElementHost
    16. Public Property ElementHost() As ElementHost
    17. Get
    18. Return Me._elementhost
    19. End Get
    20. Set(ByVal value As ElementHost)
    21. Me._elementhost = value
    22. End Set
    23. End Property
    24. End Class


    Meine Richtextbox heißt eigentlich rtxtText aber wenn ich das dann ganz oben hinschreibe kommt :
    Fehler 1 "rtxtText" ist bereits als "Friend WithEvents rtxtText As System.Windows.Forms.RichTextBox" in class deklariert.
    Wenn ich dann meine richtextbox lösche und es dafür in die zeile oben schreibe und dann wieder versuche eine richtextbox mit dem namen rtxtText zu erstellen kommt, dass es schon ein Control mit dem gleichen Namen gibt.

    wie kann ich denn mit dieser rechtschreibprüfung meine gewöhnliche richtextbox ohne panel etc. verwenden?

    danke!
    Nimm mal die RTB aus dem Design Deiner Form raus.
    Nimm alle Verweise auf RichtextBox und RichtextBoxSpellCheck raus.
    Kompiliere, und wenn erfolgreich, wird Deine RichtextBoxSpellCheck in der Toolbox angezeigt, die kannste dann Deiner GUI hinzufü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!
    Genau.
    Wie Rod schon gesagt hast handelt es sich hier um ein eigenes Control.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    das stimmt leider nicht. ich habe es ausprobiert. er erstellt die textbox immer zur laufzeit mit element.host. Es ist kein eigenes control in der toolbox zu finden.

    Wie kann ich es anstatt meiner normalen richtextbox verwenden?

    Durch diese codezeile:

    VB.NET-Quellcode

    1. Private WithEvents Richtextbox1 As New RichtextBoxSpellCheck


    bekomme ich solche errors, wenn ich es wie meine richtextbox nenne, die ich in allen subs und funktionen verwendet habe:
    Fehler 1 "Test.frmMain.Private WithEvents rtxtText As frmMain.RichtextBoxSpellCheck" ist in diesem Kontext nicht zugreifbar, da es "Private" ist.
    das ist bei private subs anderer windows forms wo ich die richtextbox der frmMain mit frmMain.richtextbox1.text ansteuere.

    danke!
    Bei manchen code zeilen wie zum beispiel

    VB.NET-Quellcode

    1. frmMain.rtxtText.Text = ...


    kommt
    Fehler 1 "Text" ist kein Member von "Test.frmMain.RichtextBoxSpellCheck".

    oder auch

    Fehler 5 "SelectionFont" ist kein Member von "Test.frmMain.RichtextBoxSpellCheck".
    wie kann ich das beheben? die codezeilen müssen funktionieren sonst läuft mein programm nicht
    Hast Du ein WinForms-Projekt
    oder
    hast Du ein WPF-Projekt :?:
    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!
    Du hast zwar ein WinForms-Projekt, diesem jedoch ein WPF-Control versucht zu geben.
    Wenn Du ein WPF-Projekt machst, wird Dein Control angezeigt:
    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!
    gibt es eine möglichkeit oder eine andere bessere rechtschreibprüfung?

    das richtextboxspellchecker control hat viele member der richtextbox nicht, die ich aber dringend brauche.
    Fehler 1 "Text" ist kein Member von "Test.frmMain.RichtextBoxSpellCheck".



    oder auch



    Fehler 5 "SelectionFont" ist kein Member von "Test.frmMain.RichtextBoxSpellCheck".
    Du hast ein WPF-Control erstellt. Da musst Du natürlich auch dessen Properties abfragen.
    Sieh Dir mal dies an.
    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!
    Microsoft hat wohl eines der größten Softwareframeworks weltweit aufgebaut. Wieso sollte MS für dich nen verdammtes Spellcheck Control bauen. Leute die sowas machen wie du sollten auch in der Lage sein selbst was ohne Copy&Paste hinzubekommen! Außerdem wieso zur Hölle sollte man für nen mehr als veraltetes und hässliches + unpraktischen System wie WinForms noch so nen komplexes Teil einbauen?
    Außerdem haben sie schon ins Framework ne Lösung eingebaut. Also musste nich so kommen, dass es sowas nicht gibt. Aber natürlich wird WinForms nicht weiterentwickelt und ich sehe auch keinen Grund dazu. Wieso sollte man MSDOS weiterentwickeln wenns Win8 gibt?
    msdn.microsoft.com/en-us/library/ms612961%28v=VS.100%29.aspx

    Nimm das oder lass es. Und merk dir einen Satz. WinForms ist fürn arsch.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Schieb deine Unfähigkeit nicht auf Microsoft.
    Im Grunde musst du dir nur anschauen, wie man WPF-Controls in WinForms-Projekte einbaut (was übrigens reinster Clusterfuck ist).
    Dann setzt du in der stinknormalen WPF-RTB den Spellcheck auf "an" und du bist fertig.

    lg SeriTools
    | Keine Fragen per PN oder Skype.
    was ist denn an winforms so schlecht und was ist denn aus welchen gründen besser? außerdem liegt man problem nicht daran dass ich das wpf control nicht hosten kann sondern dass das wpf control eigenschaften wie "Text" und "SelectionFont" nicht besitzt und ich nicht weiß wie man sie einfügen kann
    Die TextBox hat einen Text. Aber die Richtextbox eben nicht. Und das haben wir sogar schon in nem Link geschickt was es hat. Außerdem gibts dazu tausende Googleergebnisse. WPF verfolgt da nunmal wesentlich bessere Ansätze.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    VB.NET-Quellcode

    1. Private Function GetString(rtb As RichTextBox) As String
    2. Dim textRange = New TextRange(frmMain.Richtextbox1.Document.ContentStart, frmMain.Richtextbox1.Document.ContentEnd)
    3. Return textRange.Text
    4. End Function



    Wenn ich nun

    VB.NET-Quellcode

    1. If Not frmMain.Richtextbox1.text = "" Then


    durch

    VB.NET-Quellcode

    1. If Not GetString(TexterHQ.rtxtText) = "" Then


    ersetzte kommt:
    Fehler 1 Der Wert vom Typ "Test.frmMain.RichtextBoxSpellCheck" kann nicht in "System.Windows.Forms.RichTextBox" konvertiert werden.
    Kopf->gegen Tisch hau.

    DAS IST WPF!! KEIN WINFORM!
    Du willst WPF in WinForm verwenden. Das wird nix. Forms sind fürn arsch.
    Projekt löschen. Neues WPF Projekt und geht schon.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.