Intercettare un click

domenica 22 aprile 2007 - 17.55

bluland Profilo | Guru

salve,
sto creando un progr in vb 2005, poiche ho 2 button che aprono lo stesso form, vorrei all'atto dell'apertura sapere qualche button è stato clikkato, e possibile?

saluti
--------------------
Vincenzo PESANTE

alextyx Profilo | Expert

Sembrerebbe una domanda banale. Al limite risolvibile anche con un semplige flag booleano che viene messo true da un bottone e non dall'altro, prima di procedere, in entrambi i casi, all'apertura del form. Poi, di possibilità ce ne sono molte altre, ma sospetto che la domanda sia più insidiosa di come sembra. O no?

bluland Profilo | Guru

beh non lo so però ricordo che in asp.net si può fare penso sia fattibile anche qui, anche se alla fine ho pensato di risolvere mettendo una label invisibile ed inizializzandola a seconda del button pigiato, però non mi sembra molto professionale, per cui anche per un fatto di curiosita vorrei capire come è possibile capire il controllo che è stato pigiato??
--------------------
Vincenzo PESANTE

alextyx Profilo | Expert

La difficoltà che trovo è cercare di capire quale della miriade di soluzioni ti può servire. Una 'in odore' di professionalità, potrebbe essere:

Un overload della new della form che verrà aperta, diciamo Form2:

Public Class Form2

Dim Btn As Button

Public Sub New(ByRef B As Button)

' Chiamata richiesta da Progettazione Windows Form.
InitializeComponent()

' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().

Me.Btn = B

End Sub

End Class


Nelle routine dei pulsanti della form1 (l'esempio e per il button2, ma vale lo stesso codice anche per il button1):

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

' Tutto il codice da eseguire per il click di questo bottone........

'Si apre la form2 passandogli il bottone come argomento
Dim f2 As New Form2(CType(sender, Button))
f2.Show()

End Sub

In questo modo, Form2 avrà un riferimento (Me.Btn) al pulsante cliccato per aprirla. Potrà accedere ai suoi membri pubblici e quindi ottenere tutte le informazioni che gli servono.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5