Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Postato originariamente da Exit93:
Supponendo ke ho una label (lbl1) e un pulsate in un form diverso da quello della label
Come faccio in C# a cambiare testo alla label al click sul pulsante??? |
Puoi passare la Label come parametro al costruttore della form che contiene il pulsante, quindi:
Codice sorgente - presumibilmente C++ |
using System; using System.Windows.Forms; public class FormConPulsante: Form { private Label _mainFormLabel; public FormConPulsante(Label mainFormLabel) { this._mainFormLabel = mainFormLabel; } }
|
Quindi, nella form principale, quando istanzi questa Form, farai:
Codice sorgente - presumibilmente C# / VB.NET |
FormConPulsante fcp = new FormConPulsante(this.lbll);
|
Ultima modifica effettuata da Dax89 il 07/04/2008 alle 14:47 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da Dark_Limit:
Non è Visual Basic Totem, ma è C#. In C# non esiste my per cui basta mettere il nome del form direttamente.. |
Sono un idiota
D'altra parte, da un linguaggio C-like non ci si poteva aspettare qualcosa di logico |
|
Exit93 (Ex-Member)
Rookie
Messaggi: 34
Iscritto: 31/03/2008
|
Postato originariamente da Dax89:
Postato originariamente da Exit93:
Supponendo ke ho una label (lbl1) e un pulsate in un form diverso da quello della label
Come faccio in C# a cambiare testo alla label al click sul pulsante??? |
Puoi passare la Label come parametro al costruttore della form che contiene il pulsante, quindi:
Codice sorgente - presumibilmente C++ |
using System; using System.Windows.Forms; public class FormConPulsante: Form { private Label _mainFormLabel; public FormConPulsante(Label mainFormLabel) { this._mainFormLabel = mainFormLabel; } }
|
Quindi, nella form principale, quando istanzi questa Form, farai:
Codice sorgente - presumibilmente C# / VB.NET |
FormConPulsante fcp = new FormConPulsante(this.lbll);
|
|
Non va |
|
Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Uhm, è molto strano, perchè io faccio sempre così, per interagire con i controlli della form principale da una secondaria.
Mi puoi dire cos'hai fatto di preciso??
|
|
Exit93 (Ex-Member)
Rookie
Messaggi: 34
Iscritto: 31/03/2008
|
Come hai detto tu, ma l'ide non mi accetta questo:
Codice sorgente - presumibilmente C# / VB.NET |
private Label _mainFormLabel;
public FormConPulsante(Label mainFormLabel)
{
this._mainFormLabel = mainFormLabel;
}
|
Ovviamente modificato a dovere
|
|
Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Vediamo, provo a spiegarmi meglio.
Allora, la tua Form Secondaria deve diventare così:
Codice sorgente - presumibilmente Delphi |
partial class Form2 { /// <summary> /// Required designer variable. /// </summary> private IContainer components = null; //QUESTA VARABILE CONTERRA' LA LABEL DELLA //FORM PRINCIPALE private Forms.Label _label; //COSTRUTTORE public Form2(Label mainFormLabel) { //TRAMITE IL COSTUTTORE ASSEGNAMO //LA VARIABILE '_label' this._label = mainFormLabel; } //Quì c'è il resto del codice della Form2
|
Praticamente, diamo al costruttore della classe un parametro di tipo Label, questo verrà usato internamente nella form secondaria.
Quindi:
Istanziandola faremo:
Codice sorgente - presumibilmente C# / VB.NET |
//Questo è il momento che possiamo dare alla form secondaria la label che volgiamo modificare.
Form2 frm2 = new Form2(this.lbll);
|
Praticamente assegnamo la variabile definita prima all'interno di 'Form2' tramite il costruttore, permettendoci di modificarla da un altro Form.
In questo caso ci rende possibile modificare la Label 'lbll' da una form diversa.
Spero di essere stato più chiaro questa volta. Ultima modifica effettuata da Dax89 il 09/04/2008 alle 15:44 |
|
Exit93 (Ex-Member)
Rookie
Messaggi: 34
Iscritto: 31/03/2008
|
poi provo che ora non posso, ma non ci sono modi + semplici?
|
|
Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Beh, questo non è difficile, si tratta solo di assegnare una variabile dal costruttore.
E' più facile da fare che da spiegare, comunque non conosco altri modi.
|
|