Beheben einer "System.ArgumentOutOfRangeException"

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Beheben einer "System.ArgumentOutOfRangeException"

    Neu

    Hey Leute,

    momentan sitze ich vor einer Exception, die ich nicht beheben kann.

    Die "System.ArgumentOutOfRangeException" wird beim scrollen in einem leeren DataGridView bzw. in einem MetroGrid aus dem MetroFramework ausgelöst.
    Ich habe die Vermutung, dass hierbei auf den Index -1 abgefragt wird und deshalb vom Debugger die System.ArgumentOutOfRangeException ausgegeben wird.
    Leider schaffe ich es nicht die Exception oder das Event abzufangen, um den Fehler schon im Vorfeld bearbeiten zu können.

    Hatte jemand schon einmal dieses Problem und weiß, wie ich damit umgehen soll?

    MfG
    Bianco
    .wife {right: 100%; margin: 0;}

    Neu

    @Bianco Di bekommst doch einen StackTrace in der Exception-Instanz.
    Sieh dort nach, welches die letzte Zeile Deines eigenen Codes ist, bevor es im Framework weitergeht.
    Ansonsten poste mal den kompletten StackTrace.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!

    Neu

    @RodFromGermany

    Das müsste doch schon der Grund dafür sein, aber wie kann ich diesen beheben? ?(

    Quellcode

    1. ExceptionString>System.ArgumentOutOfRangeException: Das angegebene Argument liegt außerhalb des gültigen Wertebereichs.
    2. Parametername: value
    3. bei System.Windows.Forms.DataGridView.set_FirstDisplayedScrollingRowIndex(Int32 value)
    4. bei MetroFramework.Controls.MetroGrid.OnMouseWheel(MouseEventArgs e)...


    Das Event, welches ausgelöst wird, ist das "MouseWheel"-Event. Dennoch habe ich keine Ahnung, wie ich jetzt das Problem abfangen,
    bzw. es so bearbeiten kann, dass die Exception nicht ausgelöst wird.
    .wife {right: 100%; margin: 0;}

    Neu

    Du hast nicht den ganzen StackTrace gepostet...
    In der Aufrufliste (Strg+Alt+C) siehst du auch, ab welcher deiner Codezeilen diese Exception ausgelöst wird...

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

    Neu

    @VB1963
    @Bianco

    RodFromGermany schrieb:

    poste mal den kompletten StackTrace.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!

    Neu

    @RodFromGermany
    @VB1963

    Sorry, ich dachte der Teil vom StackTrace reicht aus, da hier die Exception ausglöst wurde.
    Aber eine genau Zeile wird nicht ausgegeben, denn die einzige Zeile die angegeben wird, weißt auf ein Label, dem ein String zugewiesen wird.
    Dieses Label steht aber in keinem Zusammenhang mit dem DataGridView bzw. MetroGrid.

    Ich habe das Problem jetzt vorerst so gelöst, dass wenn sich keine Daten im GridView befinden, diesen auf Enabled = False gesetzt wird.
    Erst wenn Daten verfügbar sind, wird das DGV freigegeben.
    Werde aber gleich bei Gelegenheit noch das ganze StackTrace nachreichen, da schon gerne wüsste, wie es beheben kann, ohne das DGV auf Enabled = False setzen zu müssen.

    MfG
    Bianco
    .wife {right: 100%; margin: 0;}

    Neu

    Bianco schrieb:

    denn die einzige Zeile die angegeben wird
    können wir leider nicht sehen, da Du den StackTrace nicht gepostet hast.
    Beratungsresistenz?
    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).
    VB-Fragen über PN / Konversation werden ignoriert!