Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    89

    [VB.NET] AddHandler di un evento mouse

    Salve a tutti, avrei un problema con Visual Basic.Net...
    Ho la necessità di generare in runtime dei button a cui associo all'evento click di ognuno una funzione, e fin qua tutto bene. Il problema nasce però se voglio associare la mia funzione non all'evento click ma ad un evento del mouse come il mouseMove.
    Ho il seguente codice:
    codice:
        Private Sub mainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim i As Integer
            For i = 1 To 16
                Dim button As DevComponents.DotNetBar.ButtonItem = New DevComponents.DotNetBar.ButtonItem
                button.Name = "Id_" & i
                button.Text = CStr(i) & "               " & "Colonna 1" & "               " & "Colonna 2" & "               " & "Colonna 3"
                button.Image = Button0.Image
                button.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText
                button.OptionGroup = "Group"
                AddHandler button.Click, New EventHandler(AddressOf button_click)
                AddHandler button.MouseUp, New EventHandler(AddressOf button_MouseUp)
                Me.InnerContainer.SubItems.AddRange(New DevComponents.DotNetBar.BaseItem() {button})
            Next
        End Sub
    
        Private Sub button_click(ByVal sender As Object, ByVal e As System.EventArgs)
            Label1.Text = (CType(sender, DevComponents.DotNetBar.ButtonItem).Name.ToString)
        End Sub
    
        Private Sub button_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventHandler)
            Label1.Text = (CType(sender, DevComponents.DotNetBar.ButtonItem).Name.ToString)
        End Sub
    L'errore è riportato alla riga AddHandler button.MouseUp, New EventHandler(AddressOf button_MouseUp), precisamente su button_MouseUp.
    Errore-> Il metodo "Private Sub button_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventHandler)" non ha la stessa firma del delegato "Delegate Sub EventHandler(sender As Object, e As System.EventArgs)"...

    Come posso risolvere il problema?

    Grazie a tutti....

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    89
    up...

  3. #3
    Non puoi associare un evento ad un gestore evento che non ha la firma (tipo e numero di parametri) corretta; se vuoi gestire l'evento MouseMove devi usare un delegato adatto, che, come ti indica il compilatore, ha firma
    codice:
    Delegate Sub EventHandler(sender As Object, e As System.EventArgs)
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.