Sonderzeichen verbieten

  • Allgemein

Es gibt 189 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    So,

    Erstmal ein großes Entschuldigung. Jetzt hab ich alles so gemacht. Nun auf meinem PC ist Visaul Studio Ultimate 2012 mit NetFramework 4.5 installiert. Jedoch habe ich bei meinem Programm beim Zielframework 2.0 angegeben. Deswegen geht der Code dort nicht. Bzw. es werden dort viele Fehler angezeigt. Bei deinem Code ist es standartmäßig auf 4.0 gesetzt wodurch das ganze Problemlos geht. Ich hab ein Screenshot hinzugefügt, welches die Fehler anzeigt. Kann ich diese Fehler beheben, ohne auf NF4 umzustellen oder ist dieses zu kompliziert?

    Im Anhang ist der Screenshot
    Bilder
    • Fehler.png

      13,3 kB, 871×269, 115 mal angesehen

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

    Jowat schrieb:

    Ich hab ein Screenshot hinzugefügt
    Wo :?:
    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!
    ich sehe oder erahne da viele Fehler, die meisten wohl durch fehlerhaftes abschreiben oder umkopieren.

    einzig für die Any-Extension wäre für FW2 ein Ersatz zu coden, aber bring erstmal die anneren Fehler in Ordnung.

    (Und dieses Mitternachts-Design - findest du das gut, oder weißt du nur nicht, wie man dem VS2012 eine normal-lesbare Oberfläche einstellt?)
    Habs selber so eingetsellt, ist schonender für die Augen und ich finds auch schöner und übersichtliger. Und ich versuche die Fehler mal zu beheben. Wobei ich dennoch glaube das es an NF2 liegt, da ich das jetzt mal 1 zu 1 übernommen habe und weiterhin die selben Fehler da sind.
    also falls du Fragen zu den Fehlern hast: Es ist nicht beantwortbar, wenn man nur ein Bildchen mit lauter unterkringelten Codestellen vorgesetzt bekommt.

    beantwortbar ist ein Fehler nachm anneren, bei vollständig bekanntem Code (die Menge ist ja übersichtlich), mit Angabe von Fehlerzeile und Fehlermeldung, die bearbeitet wern soll.

    Vlt. machstemal ein Backup, und stellst temporär das Framework auf FW4, damit müsste es ja ans Laufen zu kriegen sein. Danach wieder auf FW2, und man hat nurnoch die Fehler, die aus dem niedrigeren FW resultieren.
    Hey,

    das ist jetzt echt komisch. Hab auf NF4 eingetsellt, jedoch sind alle 7 Fehler weiterhin vorhanden! Wenn ich jedoch bei deinem Programm
    auf NF4 stelle sind keine Fehler da und wenn ich bei deinem Programm auf NF2 stelle, sind die Fehler da. Hab mal ein Screenshot von meinem
    Programm gemacht. Hab jetzt ein Screenshot erstellt, wo man fast den ganzen Code sieht und alle Fehler.
    Bilder
    • Unbenannt.png

      78,4 kB, 1.600×871, 81 mal angesehen
    So Leute,

    Ich hab das jetzt ganz anders gemacht und noch eine kleine Frage. Ich habe jetzt letzendlich eine RichTextBox statt der TextBox genommen. Nun, da leider bei einer RichTextBox kein Kontextmenü vorhanden ist, habe ich es eins ertsellt (ContextMenuStrip). Da habe ich die Fukntionen: "Rückgängig, Aussschneiden, Kopieren, Einfügen, Löschen und Alles auswählen" hinzugefügt und auch schon den Code fertiggestellt. Alles läuft da auch wunederbar, mit einer Ausnhame: "Rückgängig". Dort habe ich es so gemacht, das sich beim TextChangedEvent, der Text in die Settings gespeichert wird und beim Klick auf "Rückgängig" wird dieser Text in die TextBox eingesetzt. Problem: Es wird nur eine Änderung gespeichert, heißt wenn ich dort: "Hallooo" stehen habe und beide O's durch zweimaliges drücken der Rücktaste entferne und anschließend auf "Rückgängig" klicke, wird nur ein O wieder hinzugefügt. Bei der normalen TextBox würden beide O's wieder hinzugefügt. Wie genau wird es dort gemacht?

    Ich würde mich über eure Hilfe freuen.

    Gruß

    Jowat schrieb:

    "Rückgängig"

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. If RichTextBox1.CanUndo Then
    3. RichTextBox1.Undo()
    4. End If
    5. End Sub
    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!
    Merci für Undo
    @ErfidnerDesRades: Jop ich habe mehrere Formen und eine davon heißt Settings. Und da ich auch öfters mal auf My.MySettings zugreifen muss, habe ich am Anfang jeder Form
    das geschrieben:

    VB.NET-Quellcode

    1. Dim setting As New My.MySettings()
    Somit werde ich die beiden nicht verwechseln und alles läuft soweit gut ab.

    Nun noch zwei kleine Fragen:
    1. Ich habe ja eine "Shortkey" funktion. Und manche Tasten muss ich erst Registrieren(RegisterHotKey). Ich hab schon die Tasten: Druck S/Abf, Tab, Left, Right, Down und Up registriert. Welche muss ich noch Registrieren, die sonst nicht gehen würden?

    2. Ber der Funktion e.KeyCode.ToString werden die KeyCodes wieder zu einem Buchstaben umkonvertiert. Jedoch wird bei manchen Tasten dann etwas anderes angezeigt.
    Wie bei diesen: " Ä Ö Ü + # . , - ^ " Dann steht zb. statt Ä Oem7. Bei welchen, außer bei den von mir gelisteten, ist das noch der Fall?

    Über eure Hilfe würd ich mich freuen.

    Gruß

    Jowat schrieb:

    Welche muss ich noch Registrieren, die sonst nicht gehen würden?
    K.A., probier es aus.

    Jowat schrieb:

    Bei welchen, außer bei den von mir gelisteten, ist das noch der Fall?
    Die Vielfalt ist endlich, probier es ebenfalls aus.
    Lerne folgendes:
    Wenn Du ein lokales Problem hast, machst Du Dir ein kleines separates Testprogramm, in dem ausschließlich dieses Problem behandelt wird.
    Z.B. eine TextBox, deren KeyDown aboniert wird, und der KeyCode und sonst was in einem Label ausgegeben wird.
    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!
    Hey,

    Naja gut, hab das ganze jetzt durch probieren gelöst. Musste noch die Taste "Enter" Registrieren und von: "´" und "ß" die Namen ändern lassen. Nun habe ich aber ein weiteres Problem. Und zwar ist es so, dass wenn das Programm nicht fokussiert ist, funktioniert der KeyPress Event nicht mehr! Außer bei meinen Tasten die ich Registriert habe (Enter, Up, Left, Right, Down, Druck S/Abf, Tab). Gibt es eine einfache Methode, dass das weiterhin funktioniert, ohne dass ich dabei die Form fokussieren muss und OHNE dabei alle Tasten einzeln zu registrieren? Denn das wäre echt Zeit aufwendig und vor allem nicht gerade die beste Lösung. Und wenn die Form auf "Hide" setze, funktionieren gar keine Tasten mehr. Auch nicht die, die ich registriert habe. Gibt es dazu auch eine Lösung?

    PS: KeyPreview ist aktiv
    Über eure Hilfe würde ich mich freuen. =)

    Gruß

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

    Jowat schrieb:

    OHNE dabei alle Tasten einzeln zu registrieren?
    Nein.
    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!
    Hey Leute,
    Ich habe jetzt diesen Code gefunden:


    VB.NET-Quellcode

    1. Declare Function GetAsyncKeyState Lib _
    2. "user32.dll" (ByVal nVirtKey As Keys) As Short
    3. Private Sub tmr1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmr1.Tick
    4. If GetAsyncKeyState(setting.shortkey) = -32767 Then
    5. btn1.PerformClick
    6. End If
    7. End Sub


    Mit dem soll man die Tasten Systemweit überprüfen können. Funktoniert auch wunderbar, was mich stört ist der Timer der auf 1 gesetzt ist und somit die ganze Zeit abfragt, ob da eine Taste gedrückt wurde. Ansonsten ist es echt super, insbesondere das da wirklich ALLE Tasten gehen.

    Legende:
    tmr1 = Timer1
    setting.shortkey = My.Settings.shortkey (Wo der KeyCode der jeweiligen Taste gespeichert ist)
    btn1 = Button1 (Löst Ereignis aus)
    Gruß

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Jowat“ ()

    Jowat schrieb:

    Mit dem soll man die Tasten Systemweit überprüfen können.
    Grütze.
    GetAsyncKeyState() funktioniert nur, wenn die Form den Fokus hat.
    Such mal nach RegisterHotKey() und UnregisterHotKey()
    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!