Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - VB.NET - Ritornare valore da controllo utente
Forum - C# / VB.NET - VB.NET - Ritornare valore da controllo utente

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
brexino (Normal User)
Newbie


Messaggi: 8
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 12:36
Lunedì, 25/01/2010
Ciao, spero che qualcuno riesca ad aiutarmi, vi pongo il mio problema.
Allora, io ho creato un controllo utente in VB.NET, (in dll), praticamente, è un bottone ON/OFF una volta premuto da ON, se lo ripremo, diventa OFF (il testo del bottone intendo). Allora, adesso, voglio riutilizzare questo controllo in altre applicazioni importando la dll. Come faccio a fare ritornare una valore dal controllo che ho creato? Esempio, se quando clicco off sul bottone, come faccio ad accedere ad una variabile che mi consenta poi di modificare un label esterno al controllo?

Spero di essermi spiegato bene.

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 12:52
Lunedì, 25/01/2010
Devi dichiarare (almeno penso) una variabile public (pubblica).

PM Quote
Avatar
brexino (Normal User)
Newbie


Messaggi: 8
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 12:59
Lunedì, 25/01/2010
gia fatto, adesso posto il codice:

CONTROLLO :
Codice sorgente - presumibilmente VB.NET

  1. Public Class switch
  2.     Dim var As Boolean = True
  3.     Private Sub switch_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         Button1.Image = My.Resources._ON
  5.     End Sub
  6.     Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
  7.         If var = True Then
  8.             Button1.Image = My.Resources.OFF
  9.             value.Text = "off"
  10.             var = False
  11.         ElseIf var = False Then
  12.             Button1.Image = My.Resources._ON
  13.             value.Text = "on"
  14.             var = True
  15.         End If
  16.     End Sub



VALUE, è UNA TEXTBOX NASCOSTA

praticamente, dalla mia applicazione, importo il controllo, ma non riesco ad accedere alla textbox (value.text) del controllo..

esempio
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         If Switch1.value.text = "off" Then
  3.             Label1.Text = "il controllo è spento"
  4.         ElseIf Switch1.value.text = "on" Then
  5.             Label1.Text = "il controllo è acceso"
  6.         End If
  7.     End Sub



Vi prego, non so più a chi chiedere.


PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 13:58
Lunedì, 25/01/2010
Evidentemente non hai mai usato le classi prima d'ora. Le sub dovrebbero essere pubbliche come per altro le variabili. :k:

PM Quote
Avatar
brexino (Normal User)
Newbie


Messaggi: 8
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 14:02
Lunedì, 25/01/2010
si, in effetti non sono un maestro, però mi potresti consigliare gentilmente come agire? cosa devo fare di preciso per poter accedere ad una variabile contenuta nel controllo da un'altra applicazione?

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 14:30
Lunedì, 25/01/2010
Certo...ti aiuto volentieri (anche perchè io ci ho messo un bel pò a capirle...:D).
Innanzitutto crei una classe (pubblica) e fino a qua pare che le conoscenze per farlo tu le abbia. All'interno di ogni classe ci sono varie sub (non so se la traduzione italiana letterale è procedura...io le chiamo così) che devono essere pubbliche se utilizzate da altre classi.
Ad esempio
Codice sorgente - presumibilmente VB.NET

  1. Public Class Classe 'Creo una nuova classe pubblica
  2.   Public Sub Procedura 'Creo una nuova procedura pubblica
  3.   'Codice della procedura
  4.   End Sub 'Chiudo la sub
  5. End Class 'Chiudo la classe


Quando hai inserito il codice nella classe il gioco è quasi fatto.
- Ricorda di inserire le variabili da utilizzare nel main come public ad esempio:
Codice sorgente - presumibilmente C# / VB.NET

  1. Public Variabile As String 'Dichiaro una variabile stringa pubblica ovvero utilizzabile da ogni componente del programma


Innanzitutto nella classe main (la chiamo così perchè sto studiando c++ ;)) devi dichiarare la classe in questo modo (in riferimento al codice di prima).
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim TuaClasse As New Classe


Dopo di chè devi richiamare le funzioni della classe in questo modo:
Codice sorgente - presumibilmente Plain Text

  1. Classe.Procedura() 'Ricorda la parentesi!


Spero di esserti stato utile e, nel caso qualcuno ne sappia più di me (ovvero tutti :P) riscontrino qualcosa di sbagliato di avvisarmi e correggere (si, non sono maestro nello spiegare :rotfl: ).

Ultima modifica effettuata da cassin.simone il 25/01/2010 alle 14:31
PM Quote
Avatar
brexino (Normal User)
Newbie


Messaggi: 8
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 15:42
Lunedì, 25/01/2010
no, non mi sono spiegato bene, praticamente, io apro un progetto e inserisco un label e il mio controllo (switch.dll)
dal form, voglio far si che la label ottiene lo stato del controllo, (OFF,ON)

ad esempio
Codice sorgente - presumibilmente Plain Text

  1. label1.text = switch1.textbox1.text



solo che nell'intellisense non compare textbox1.text, quando nel controllo, esiste.
Per spiegarmi meglio, per ottenere dei dati dal form1, con il form2, farei cosi:
Codice sorgente - presumibilmente Plain Text

  1. form2.text = form1.text



vorrei poter fare cosi dal mio controllo, ovvero accedere ai valori contenuti nelle textbox del controllo, con il form. Non riesco a spiegarmi...

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 16:45
Lunedì, 25/01/2010
Testo quotato

Postato originariamente da brexino:
no, non mi sono spiegato bene[...]
Non riesco a spiegarmi...



Eh già...non ho capito :-|

PM Quote
Avatar
brexino (Normal User)
Newbie


Messaggi: 8
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 17:04
Lunedì, 25/01/2010
praticamente, come funziona con i bottoni standard di vb.net,
voglio creare un mio bottone, con tutti i suoi eventi, ovvero (quando il mouse passa sopra, quando il mouse clikka, quando cambia il testo eccc...) senza usare quello standard , ma voglio farlo io, e implementarlo in ogni progetto. capito? in pratica voglio sapere come si può creare un bottone, senza usare quello di default

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo