vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Probleme mit Mouseoverbutton 
Autor: TheExOne
Datum: 17.08.07 23:03

Hallo,
ich habe mal wieder ein eher größeres Problem, was eigentlich nur die Schönheit betrifft.
Ich habe einen Mouseoverbutton gemacht, der funkt auch prima, doch immer wenn ich auf den Button klicke, welcher für das Schließen des Programms verantwortlich ist, kommt ein .NET Framework Error:

System.ArgumentOutOfRangeException wurde nicht behandelt.
  Message="InvalidArgument=Value mit dem Wert 0 ist für index ungültig.
Parametername: index"
  ParamName="index"
  Source="System.Windows.Forms"
  StackTrace:
       bei System.Windows.Forms.ImageList.ImageCollection.get_Item(Int32 index)
       bei mtManager.mtManager.SchliessenLeave(Object sender, EventArgs e) in _
         D:\VB\mtManagerX\mtManager.vb:Zeile 40.
       bei System.Windows.Forms.Control.OnMouseLeave(EventArgs e)
       bei System.Windows.Forms.ButtonBase.OnMouseLeave(EventArgs eventargs)
       bei System.Windows.Forms.Button.OnMouseLeave(EventArgs e)
       bei System.Windows.Forms.Control.WmDestroy(Message& m)
       bei System.Windows.Forms.Control.WndProc(Message& m)
       bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
       bei System.Windows.Forms.Button.WndProc(Message& m)
       bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& _
         m)
       bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, _
         Int32 msg, IntPtr wparam, IntPtr lparam)
       bei System.Windows.Forms.UnsafeNativeMethods.IntDestroyWindow(HandleRef _
       hWnd)
       bei System.Windows.Forms.UnsafeNativeMethods.DestroyWindow(HandleRef _
       hWnd)
       bei System.Windows.Forms.NativeWindow.DestroyHandle()
       bei System.Windows.Forms.Control.DestroyHandle()
       bei System.Windows.Forms.Control.Dispose(Boolean disposing)
       bei System.Windows.Forms.Form.Dispose(Boolean disposing)
       bei mtManager.mtManager.Dispose(Boolean disposing) in _
         D:\VB\mtManagerX\mtManager.designer.vb:Zeile 11.
       bei System.ComponentModel.Component.Dispose()
       bei System.Windows.Forms.Form.WmClose(Message& m)
       bei System.Windows.Forms.Form.WndProc(Message& m)
       bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& _
         m)
       bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, _
         Int32 msg, IntPtr wparam, IntPtr lparam)
       bei System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, _
       Int32 msg, Int32 wParam, Int32 lParam)
[gekürzt]
Ich habe das folgendermaßén gelöst:
    Private Sub bla_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        AddHandler Me.Schliessen.MouseLeave, AddressOf Me.SchliessenLeave
        AddHandler Me.Schliessen.Click, AddressOf Me.SchliessenClick
        AddHandler Me.Schliessen.MouseDown, AddressOf Me.SchliessenMouseDown
        AddHandler Me.Schliessen.MouseEnter, AddressOf Me.SchliessenEnter
        AddHandler Me.Schliessen.MouseUp, AddressOf Me.SchliessenMouseUp
    End Sub
 
    Sub SchliessenClick(ByVal sender As Object, ByVal e As EventArgs)
        Schliessen.Image = Me.SchliessenList.Images.Item(1)
    End Sub
    Sub SchliessenEnter(ByVal sender As Object, ByVal e As EventArgs)
        Schliessen.Image = Me.SchliessenList.Images.Item(2)
    End Sub
    Sub SchliessenLeave(ByVal sender As Object, ByVal e As EventArgs)
        Schliessen.Image = Me.SchliessenList.Images.Item(0)
    End Sub
    Sub SchliessenMouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
        Schliessen.Image = Me.SchliessenList.Images.Item(1)
    End Sub
    Sub SchliessenMouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
        Schliessen.Image = Me.SchliessenList.Images.Item(1)
    End Sub
Das funktoiniert auch gut, nur wenn man auf den Button klickt, kommt halt der Fehler.
Das komische ist, dass das nicht passiert, wenn ich den Button nicht mit dem "Me.Close" Kommando belege.

Jemand eine Idee?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Probleme mit Mouseoverbutton836TheExOne17.08.07 23:03
Re: Probleme mit Mouseoverbutton622cookstdu18.08.07 10:32
Re: Probleme mit Mouseoverbutton608TheExOne18.08.07 13:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel