e.KeyCode nicht mehr bei 2010!

  • VB.NET

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Murdock.

    e.KeyCode nicht mehr bei 2010!

    Ich benutze seid kurzem visual studio 2010 und habe eben gemerkt das die Funktion e.keycode dort nicht mehr funz was kann ich stattdessen benutzen?
    Ich will:

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.Enter Then
    2. ...
    3. end if



    mf. Kevin
    1. Kann ich mir weniger vorstellen das es das je in Visual Staudio 2008 oder früher gab. Seitwann ist die IDE gleich die Programmiersprache?
    2. Kann ich mir nicht vorstellen das die das weggemacht haben, aber wenn man sich Betas runterlädt muss man mit sowas rechnen ;).
    3. Kannst du auch einfach das Framework auf ein früheres Framework umstellen ;).
    4. Kannst du das nat. nicht irgendwo hinschreiben, das geht nat. nur in dem bestimmten Event, welches das KeyEventArgs als e hat (ist es KeyEventArgs? weiß es gerade nicht so genau ^^ )
    Ich denke du hast es einfach im falschen event platziert.
    Parkour Reutlingen -Professional Parkour & Freerunning
    Parkour-Reutlingen.de / Marius-Mohr.de / Dev-Webdesign.de
    Das ist schon Merkwürdig denn gestern hatte ich das schon im Keydown event aber es ging trotzdem nicht, eben habe ich das gleiche nochmal probiert und es geht ?(

    Und noch ne Frage ich will das nach einer If Frage die nächste If Frage gestartet wird so z.B: aber nur tut er nicht das was er machen soll:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. If TextBox1.Text = "..." Then
    4. Form2.Show()
    5. Me.Hide()
    6. Else
    7. MsgBox("Leider Falsch")
    8. End If
    9. End Sub
    10. Private Sub Button1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown
    11. If e.KeyCode = Keys.Enter Then
    12. If TextBox1.Text = "..." Then
    13. Form2.Show()
    14. Me.Hide()
    15. Else
    16. MsgBox("Leider Falsch")
    17. End If
    18. End If
    19. End Sub
    20. End Class


    Ich vermute das liegt daran das dieser Teil:

    VB.NET-Quellcode

    1. If TextBox1.Text = "Weinachten" Then
    2. Form2.Show()
    3. Me.Hide()


    nicht im keydown event funz oder?

    mfg. Kevin
    ??? Das funktioniert doch einwandfrei xD

    Nur solltest du es lieber ins Textbox KeyDown Event tun nicht in den Button xD

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.Enter Then
    2. If TextBox1.Text = "..." Then
    3. Form2.Show()
    4. Me.Hide()
    5. Else
    6. MsgBox("Leider Falsch")
    7. End If
    8. End If


    Aber anstatt den Code nochmal zu wiederholen simulier doch den Buttondruck mit Button1.PerformClick()

    also so:

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.Enter Then
    2. Button1.PerformClick()
    3. End If


    Und benutz am besten Messagebox.Show anstatt MsgBox
    01010111 01101001 01100101 01110011 01101111 00100000
    01100100 01100101 01100011 01101111 01100100 01100101
    01110011 01110100 00100000 01100100 01110101 00100000
    01100100 01100001 01110011 00111111 00100000 01111000
    01000100 01000100 01000100 01000100

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „St0on“ ()

    St0on schrieb:

    Nur solltest du es lieber ins Textbox KeyDown Event tun nicht in den Button xD
    Lol, wasn das für eine Aussage? ^^
    Für alle, die bequem ihre Programmeinstellungen speichern möchten: [Open Source] INI 2.1
    • Intelligentes und objektorientiertes Konzept
    • Nützliche und übersichtliche Features
    • Umfangreiche Einsatzmöglichkeiten


    Geld war stets rar, wie Dateiarchive.
    Nur weil da 2 Wörter fehlen o.o ?

    Nur solltest du es lieber ins Textbox KeyDown Event tun nicht in das Button KeyDown Event
    01010111 01101001 01100101 01110011 01101111 00100000
    01100100 01100101 01100011 01101111 01100100 01100101
    01110011 01110100 00100000 01100100 01110101 00100000
    01100100 01100001 01110011 00111111 00100000 01111000
    01000100 01000100 01000100 01000100

    IISP33DII schrieb:

    St0on schrieb:

    Und benutz am besten Messagebox.Show anstatt MsgBox

    Einfach aus Interesse: warum Messagebox.show und nicht MsgBox??

    Auch wenn der Thread schon uralt ist: MsgBox ist veraltet und MessageBox ist die Nachfolgerversion von dieser Funktion.
    Wobei die Methode Msgbox selbst eiglich nicht weiter schlimm ist.

    Die Verfügbarkeit von Msgbox zeigt nur wirklich schlimmes an, nämlich dass man den GeneralImport auf Microsoft.Visualbasic noch drinne hat, und meist ist man dann auch noch auf dem Anfänger-Stand, dass man auch noch Option Strict Off eingestellt hat.

    Beides nix nix nix gutt, weil mit diesen Einstellungen kann man sich in Visualbasic als OOP-Sprache nicht einarbeiten, sondern bleibt immer auf einem ziemlichen Deppen-Niveau hängen.
    gugge Visual Studio - Empfohlene Einstellungen
    @ErfinderDesRades Schau Dir die Funktion mal in ILSpy an und ich wette, dass Du Deine Aussage, dass es eig. nicht schlimm ist, ändern wirst. ;)

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Fragen per PN, denn dafür ist das Forum da :!:
    hmm - sieht völlig harmlos aus.
    Intern wird sogar Messagebox.Show aufgerufen, also Msgbox ist funktional ebenso gut und stabil wie Messagebox.Show, und zwar weils dasselbe ist.

    Wirklich schlimm ist doch das ganze annere Gekröse, was man anne Hacke hat, wenn der Deppen-Namespace aktiv ist: Böses aus VB6/VB2003 - und die richtigen VB.NET-Alternativen

    Das gilt es loszuwerden, weil man sonst nie richtig proggen lernen kann. Visual Studio - Empfohlene Einstellungen

    ErfinderDesRades schrieb:

    und zwar weils dasselbe ist.


    Naja, ich würde sagen das stimmt so nicht ganz. Intern muss es da einen Unterschied geben. Teste das, mit Option Strict on. MsgBox finde ich, ist was für Option Strict Off liebhaber.

    VB.NET-Quellcode

    1. Dim zahl As Integer = 100
    2. MsgBox(zahl)
    3. MessageBox.Show(zahl) ' "Option Strict On" lässt keine impliziten Konvertierungen von Integer in String zu.


    Wobei nicht alle DatenTypen wunderbar in MsgBox funktionieren, wodruch es zum Knall kommen kann, also lieber gleich nur MessageBox verwenden, da die IDE meckern würde und solche Fehler garnicht erst passieren.

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

    ok - verhält sich anners.
    Für meine Zwecke wäre das sogar besser.
    Ich muss gestehen, ich hab mir selbst eine Messagebox geschrieben, eine globale Methode (böse!! :evil: ), und da kann ich alles wahllos reinschmeißen, ohne dass Compiler meckert oder abstürzt:

    VB.NET-Quellcode

    1. 'so:
    2. Msg("2 * 4.5€ = ", 2 * 4.5, "€")
    3. 'ist doch besser als:
    4. MessageBox.Show("2 * 4.5€ = " & (2 * 4.5).ToString & "€")

    Ausgabe: 2 * 4.5€ = 9€

    Ist praktisch, leicht zu lesen und zu schreiben und ist sicher.
    Och so böse find ich das nicht, ich selbst nutze ein Modul zum ein/ausblenden(faden) von nahezu allem, würd ich auch als Global betiteln. Och ja die alten Dinger, die immer noch gängig sind 8o .

    Solange du sicher sein kannst das Msg sicher funktioniert, egal was du rein stopfst, kann das eine gute praktische Sache sein.