Oppure

Loading
27/12/09 13:25
Il_maca
come da oggetto, gli eventi su un user control che ho creato non funzionano..., ho creato un user control che in sostanza è una picturebox con in aggiunta due proprietà per il mouseover e il mouse press...e quindi per la creazione di un pulsante a tre stadi... funziona tutto correttamente tranne per il fatto che dopo aver importato la dll in un progetto, gli eventi sul controllo (mouse clicked eccetera)non funzionano...
perkè??
aaa
28/12/09 7:37
Il_maca
aaaaaaaaaaaaaaaaaaaaaa :cheer: :rofl: :rofl: ora ho capito, finalmente, il vero problema.... in pratica, il controllo era composto di un'unica picturebox, che lo copriva completamente, e allora quando cliccavo sul controllo, in realtà cliccavo sulla picture del controllo, e non sul controllo stesso....e quindi tutti gli eventi associati al mouse non partivano....adesso non mi resta che ricreare tutti gli eventi del mouse, associati però alla picture.
però mi è venuto in mente un dubbio, io per creare il controllo, ho prima creato una libreria di classi, poi creato un user control e poi sul quadrato del controllo di base, ci ho messo la picture; non c'è un modo per rendere il controllo stesso una picture??
aaa
28/12/09 8:24
Il_maca
ah, qualcuno sa come si possono aggiungere gli eventi sulla picture???
aaa
28/12/09 9:12
Il Totem
Il controllo di per sé gode della proprietà BackgroundImage, quindi puoi anche togliere la PictureBox. In questo modo non dovrai aggiungere eventi ad esssa, ma al nuovo controllo. Infatti tu stai scrivendo un controllo utente, ossia personalizzato: è quello che devi modificare, non i controlli già esistenti che ne fanno parte.
Per aggiungere un evento, basta dichiararlo:
Public Event Something As EventHandler

EventHandler è il delegate che definisce il tipo dell'evento. Per generarlo, si fa esattamente come con tutti gli altri eventi:
RaiseEvent Something(sender, e)
aaa
28/12/09 11:17
Il_maca
Postato originariamente da Il Totem:

Il controllo di per sé gode della proprietà BackgroundImage, quindi puoi anche togliere la PictureBox. In questo modo non dovrai aggiungere eventi ad esssa, ma al nuovo controllo.

:-| non ci avevo pensato... :k:

Infatti tu stai scrivendo un controllo utente, ossia personalizzato: è quello che devi modificare, non i controlli già esistenti che ne fanno parte.
Per aggiungere un evento, basta dichiararlo:
Public Event Something As EventHandler

EventHandler è il delegate che definisce il tipo dell'evento. Per generarlo, si fa esattamente come con tutti gli altri eventi:
RaiseEvent Something(sender, e)

perfetto ci provo subito, grazie mille... :k::k:

aaa
28/12/09 11:41
Il_maca
non ti sconvolgerà l'idea che funziona tutto!! :k::rofl:
grazie mille davvero, hai risolto un problema che mi tormentava e grazie a te ho capito alcune cose che non sono riuscito a reperire in internet... grazieeeeeee:hail: :hail: :cheer:
aaa