Título: Parametros a funcion de Button_click()(SOLUCIONADO)
Publicado por: 01munrra en 26 Octubre 2015, 03:24 am
si quiero mostrar un dato al dar clic en un botton, como lo haria? el funcionamiento es el siguiente, cada vez que le de clic a el mismo boton el cambie la informacion que se muestra alli dentro del boton, crei que si pasaba por parametro el dato a la funcion me funcionaria, pero no funciono, hice esto ps: Private Sub button_resp1_Click(sender As Object, e As EventArgs, byref res as string) Handles button_resp1.Click button_resp1.tex = res end sub
pero me arroja un error: Error 1 El método 'Private Sub button_resp1_Click(sender As Object, e As System.EventArgs, ByRef res As String)' no puede controlar el evento 'Public Event Click(sender As Object, e As System.EventArgs)' porque no tienen una firma compatible.
que me recomiendadn? gracias!
Título: Re: Parametros a funcion de Button_click()
Publicado por: Lekim en 27 Octubre 2015, 14:31 pm
Hola Si pones tex, lógico que te de error porque es text. :xD Bueno, fuera bromas :¬¬ Ya te lo está diciendo: porque no tienen una firma compatibleNo se muy bien lo que quieres hacer, haber si esto te sirve como solución: Option Strict On Option Explicit On Public Class Form1 Public Sub EventClickRef(ByRef Res As Integer) Dim nRandom As New Random Res = nRandom.Next(5 * Res) 'Multiplica el valor devuelto por 5 y lo mete en Res End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Res As Integer = 2 EventClickRef(Res) 'Envia el valor actual de Res (2) a EventClick y devuelve otro valor Button1.Text = CStr(Res) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
Título: Re: Parametros a funcion de Button_click()
Publicado por: 01munrra en 28 Octubre 2015, 03:30 am
Si pones tex, lógico que te de error porque es text. :xD
jajaja ::) fijate lo que quiero hacer, tengo una serie de respuestas; ejemplo: vector(0) = "amarrillo" vector(1) = "rojo" vector(3) = "naranja" vector(4) = "negro"
entonces en un boton(botton_siguiente). por otro lado tengo 2 botones mas(botton_resp1 y botton_resp2), tengo estos botones para cuando le den clic sobre cada botton(botton_resp1 y botton_resp2) salga: botton_resp1 ="amarrillo" botton_resp2 = "rojo"
y cuando presione el boton_siguinte salga= botton_resp1 ="naranja" botton_resp2 = "negro"
como puedo hacer eso?.... me tiene loco por que no he podido.... :o
Título: Re: Parametros a funcion de Button_click()
Publicado por: Lekim en 28 Octubre 2015, 17:24 pm
(http://4.bp.blogspot.com/-YUORC5YyyPQ/VjD_4IUu-AI/AAAAAAAAASo/rsASMO386po/s1600/Conmutador.gif) Public Class Form1 Dim Vector() As String = {Nothing, "Amarillo", "Rojo", "Naranja", "Negro"} Dim Conmutador As Boolean Private Sub botton_siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles botton_siguiente.Click Conmutador = IIf(Conmutador = False, True, False) Select Case Conmutador Case False Me.botton_resp1.Text = Vector(1) Me.botton_resp1.BackColor = Color.Yellow : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(2) Me.botton_resp2.BackColor = Color.Red : Me.botton_resp2.ForeColor = Color.Black Case True Me.botton_resp1.Text = Vector(3) Me.botton_resp1.BackColor = Color.Orange : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(4) Me.botton_resp2.BackColor = Color.Black : Me.botton_resp2.ForeColor = Color.White End Select Me.Text = Conmutador End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.botton_resp1.Text = Vector(1) Me.botton_resp1.BackColor = Color.Yellow : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(2) Me.botton_resp2.BackColor = Color.Red : Me.botton_resp2.ForeColor = Color.Black End Sub End Class
TAMBIÉN SE PUEDE ESCRIBIR ASÍ: Public Class Form1 Dim Vector() As String = {Nothing, "Amarillo", "Rojo", "Naranja", "Negro"} Dim Conmutador As Boolean Private Sub botton_siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles botton_siguiente.Click Conmutador = IIf(Conmutador = False, True, False) Select Case Conmutador Case False With botton_resp1 .Text = Vector(1) : .BackColor = Color.Yellow : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(2) : .BackColor = Color.Red : .ForeColor = Color.Black End With Case True With botton_resp1 .Text = Vector(3) : .BackColor = Color.Orange : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(4) : .BackColor = Color.Black : .ForeColor = Color.White End With End Select Me.Text = Conmutador End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load With botton_resp1 .Text = Vector(1) : .BackColor = Color.Yellow : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(2) : .BackColor = Color.Red : .ForeColor = Color.Black End With End Sub End Class
Título: Re: Parametros a funcion de Button_click()
Publicado por: 01munrra en 29 Octubre 2015, 04:32 am
Oye....! Gracias me ha servido bastante...... ;-) ;-) ::) algo asi fue lo que hice, claro esta es una prueba, pero lo hace. Public Class Form1 Dim vt(10) As String Dim cont As Integer = 0 Private Sub cargar(ByRef vt() As String) vt(0) = "algo" vt(1) = "otro" vt(2) = "otro algo" vt(3) = "algo mas" vt(4) = "mucho mas" vt(5) = "otro mucho mas" vt(6) = "muchas cosas mas" vt(7) = "infinitas cosas" vt(8) = "infinitas cosas mas" vt(9) = "Fin de cosas" End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load cargar(vt) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Button1.Text = "" Button2.Text = "" If cont = 9 Then 'generar Salir Else cont = cont + 2 End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Button1.Text = vt(cont) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Button2.Text = vt(cont + 1) End Sub End Class
Título: Re: Parametros a funcion de Button_click()(SOLUCIONADO)
Publicado por: Eleкtro en 4 Noviembre 2015, 13:59 pm
me arroja un error: Error 1 El método 'Private Sub button_resp1_Click(sender As Object, e As System.EventArgs, ByRef res As String)' no puede controlar el evento 'Public Event Click(sender As Object, e As System.EventArgs)' porque no tienen una firma compatible.
que me recomiendadn? Lo que yo te recomiendo, una vez solucioando el problema, es que empieces a documentarte sobre lo que es un event-handler y un delegado en general, para comprender. No puedes pretender cambiar la firma de un handler para pasarle "X" parámetros como estabas intentando hacer, pues no son metodos cualquiera, son metodos destinados a controlar un evento, por ende, deben recibir unos parámetros específicos (declarados por el evento que sea). - EventHandler(Of EventArgs) ( EventHandler(TEventArgs) Delegate ) - MSDN (https://msdn.microsoft.com/en-us/library/db0etb8x%28v=vs.110%29.aspx)
- Event Handlers - MSDN (http://msdn.microsoft.com/en-us/library/aa984105%28v=vs.71%29.aspx)[/i]
Saludos
|