Frage zu Überladen von Funktionen, Ereignissen usw, DataGridView

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Old-Newbee.

    Frage zu Überladen von Funktionen, Ereignissen usw, DataGridView

    Erstmal guten Morgen,

    dies ist mein erster Post in diesem Forum seid also bitte etwas nachsichtig mit mir.
    Zu mir, nachdem ich in den ‘90ern meine ersten Programme mit VB6 und Datenbanken geschrieben habe und nach einem Arbeitsplatzwechsel Anfang der 2000er gar nichts mehr mit Programmieren zu tun hatte möchte ich jetzt wieder Anfangen und mit kleinen Test Progrämmchen mich in die Materie einarbeiten. Das Anfängerbuch von T.Theis Einstieg in VB 2019 und den Löffelmann habe ich, finde aber nichts darin.

    Hier habe ich nun ein Verständnis Problem mit „Überladen“, Hintergrund ich habe ein DataGridView und möchte die RETURN Taste anders belegen > TAB. Hier habe ich eine Möglichkeit gefunden. Wo weis ich nicht mehr und ob’s Funktioniert auch nicht.

    VB.NET-Quellcode

    1. Class MyDataGridView
    2. Inherits DataGridView
    3. Protected Overloads Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
    4. If keyData = Keys.Enter Then
    5. MyBase.ProcessTabKey(Keys.Tab)
    6. Return True
    7. End If
    8. Return MyBase.ProcessDialogKey(keyData)
    9. End Function
    10. Protected Overloads Overrides Function ProcessDataGridViewKey(ByVal e As KeyEventArgs) As Boolean
    11. If e.KeyCode = Keys.Enter Then
    12. MyBase.ProcessTabKey(Keys.Tab)
    13. Return True
    14. End If
    15. Return MyBase.ProcessDataGridViewKey(e)
    16. End Function
    17. End Class


    Nun meine Frage wo gehören diese beiden Funktionen hin? In ein Modul oder in die Form und wie werden diese angewendet? Wie oben angedeutet finde ich in beiden Büchern keinen Lösungsansatz.
    Noch eine Frage zum DataGridView, kann ich einzelne Spalten (in meinem Fall die erste und letzte) so sperren, dass Sie keinen Focus bekommen? Oder muss ich eine Abfrage schreiben, die abfragt welche Spalte gerade angesprungen wird?

    CodeTags gesetzt ~VaporiZed

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

    @Old-Newbee Willkommen im Forum. :thumbup:
    Das Überladen von Prozeduren bedeutet, dass es mehrere Prozeduren gleichen Namens mit unterschiedlichen Parametern und im Allgemeinen gleichem Rückgabewert gibt.
    Wenn Du dem User andere Tastendrücke unterjubeln willst hat das nix mit Überladen zu tun.
    In einem Modul können diese Prozeduren nicht funktionieren, der Compiler sollte das anmeckern.
    Wenn, dann gehören sie in die Form, deren Tastatureingaben Du manipulieren willst.
    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!
    @Old-Newbee OK.
    In VB.NET wird da sehr aufgepasst.
    Overload: docs.microsoft.com/de-de/dotne…ed-properties-and-methods
    Override: docs.microsoft.com/de-de/dotne…rence/modifiers/overrides
    Deine Schreibweise

    VB.NET-Quellcode

    1. Protected Overloads Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
    ist syntaktisch falsch, das ist mir vorhin nicht aufgefallen. Sorry.
    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!
    @Old-Newbee Wenn Du mit VB.NET warm werden willst, schaust Du hier:
    [Sammelthread] Programmieren, aber was? (Programmideen)
    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!
    > und den Löffelmann habe ich, finde aber nichts darin.

    Hätte schwören können, dass ich damals was zum Thema Polymorphie in diesem Zusammenhang geschrieben habe?
    Kannst du mal ins Stichwortverzeichnis schauen, ob du das was zum Thema findest?

    Falls die Frage noch aktuell ist.

    LG aus Redmond, WA,

    Klaus
    Hallo und Dank für Deine Meldung,
    tut mir leid erst heute darauf zu stoßen. Musste in den letzten Wochen anderen Sachen Vorrang lassen.
    Es ist noch aktuell und ich bin noch am Probieren und Testen. Allerdings nur so nebenbei und das wird sich erst in 2-3 Wochen ändern.
    Ist doch etwas schwieriger wie gedacht, aber ich werde trotzdem versuchen weiter meine Möglichkeiten zu erweitern.