PDA

View Full Version : [vb] problemi di ereditarietà


mayor
04-06-2005, 13:36
1)come faccio a rendere una variabile "visibile" dichiarata ad esempio in form1 in un altro form (es form2)?

(se dichiaro le variabili public nn succede niente)
se faccio derivare direttamente il form2 dal form1:

class form2
Inherits form1

così le variabili sono visibili ma il form2 assume lo stesso aspetto del form1

2)
vorrei fare in modo che appena si clikka un pulsante ne sia aggiunto 1 quindi se si clikka 8 volte si dovrebbero creare 8 pulsanti.
Quindi ho creato un array di bottoni cioè ho dichiarato

Public bottone(100) As System.Windows.Forms.Button

il problema è che nn riesco a impostare gli eventi di questi bottoni :

Private Sub bottone(i)_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bottone(i).Click

End Sub
perchè mi da errore :Prevista fine dell'istruzione
inoltre il numero di bottoni è variabile! avete qualche consiglio?

tnx

mayor
05-06-2005, 23:21
sono riuscito a risolvere il primo problema utilizzando i moduli!

ma per il secondo che mi dite?

:help: :help: :help: :help:

fgmac
06-06-2005, 07:52
Per fare quello che dici ho sempre fatto cosi':
ho disegnato un bottone nella form, ho fatto copia e incolla e risposto di si alla domanda "si vuole creare una matrice di controlli?". A quel punto doppio click sul bottone e mi ha creato l'evento in modo corretto.

button_click(index as integer)

dove button e' il nome del pulsante.

Allego un piccolo esempio trovato in rete.


ciao,

mayor
06-06-2005, 10:01
grazie mille!
ho notato che così a tutti gli altri bottoni creati viene assegnato l'evento click del bottone del form
ma poi se volessimo assegnare ad esempio un evento al bottone (5,8) diverso dagli eventi degli altri bottoni come si dovrebbe fare? nn è che si devono usare le API?

RaouL_BennetH
06-06-2005, 10:05
se al bottone con indice '5' vuoi assegnare un particolare evento:



button(5).click()

'generi l'evento

fgmac
06-06-2005, 10:08
Direi che in base all'indice del bottone premuto scateni l'esecuzione del codice personalizzato, non so se si puo' ridefinire un evento. Forse puoi usare le API per subclassare quel dato pulsante, ma mi sembra un tantino complicato.

ciao,

mayor
06-06-2005, 10:21
ho deciso di spiegare bene il broblema magari qualche anima buona mi aiuta :D

http://img167.echo.cx/my.php?image=immagine4uu.jpg

nell'immagine si vede il programmino che volevo fare ! è un programma di appuntamenti semplicissimo(anche perchè sono alle prime armi)

grazie del suggerimento ora provo

mayor
06-06-2005, 10:37
ho provato... (sto usando il visual basic.net)
questo è il codice che ho assegnato al pulsante nel form1

Private Sub bottone(5)_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bottone(5).Click
....
End

e sotto il 5 appare la sottolineatura a zig zag e mi dà il seguente errore:
è previsto un identificatore

:confused:

fgmac
06-06-2005, 11:03
Dirlo prima che era VB.NET ?? ;)
VB6 e VB.NET sono completamente diversi !!!
Tutto quello che ho scritto valeva per VB6 e non per VB.NET :doh:

ciao,

mayor
06-06-2005, 11:16
scusa ma come ho già scritto ho appena iniziato a programmare in visual basic e nn ho trovato delle guide buone su visual basic.net quindi nn so le reali differenze! :cry:

fgmac
06-06-2005, 11:32
Non ti preoccupare, solo che non so tanto come aiutarti.
Vado a tentoni:

Private Sub bottone(5)_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bottone(5).Click .... End


io toglierei "(5)" dopo bottone.
Se gia' non l'hai provato.

ciao,

mayor
06-06-2005, 11:42
da errore anche così:
Istruzione nn valida in uno spazio dei nomi

nn so + che fare devo cambiare tutto!!
c'ero stato una vita a programmare i bottoni con le frecce per fare lo scroll degli appuntamenti.....