02/11/17 21:37
fabiofabio60
Salve a tutti. Sono nuovo del forum, e da un pò di tempo che mi diletto a programmare in c#.
Ora ho un problema che non riesco a risolvere, ho creato delle label dinamicamente nel TableLayoutPanel, ma nel form non riesco ad individuarle per cambiare il colore.
Grazie antcipatamente per l'aiuto.
aaa
03/11/17 8:30
nessuno
Se le crei dinamicamente, come puoi individuarle nel form ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
03/11/17 21:50
fabiofabio60
Sempre nel pannel ho creato altri ogetti tipo CHECK BOX ed altri PANEL, e li trovo nel form. Perchè con le label non ci riesco.
Come posso fare?
Grazie per l'aiuto.
aaa
04/11/17 11:03
nessuno
Hai creato dinamicamente anche quelli?
Hai creato tutti questi controlli da codice? O no?
Non si capisce.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
05/11/17 15:07
fabiofabio60
Ciao, scusa del risponderti in ritardo. Comunque vado a spiergarti quello che ho fatto. Ho inserito nel form un oggetto di nome tabbella, e dentro alla tabella ho creato dinamicamente i pannelli con dentro a sua volta delle label e checkBoxPCB,.
Quest'ultimo oggetto nel form tramite la funzione click riesco a capire quale checkBoxPCB ho premuto, ma le label non riesco a cambiargli il colore.
Grazie
aaa
05/11/17 16:32
nessuno
Ci fai vedere il codice, perché forse non ci capiamo su cosa vuol dire "creare dinamicamente".
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
06/11/17 8:32
fabiofabio60
Buongiorno sottostante il codice che ho creato:
// Funzione chiamata solo allo start per creare dinamicamente più pannelli che possono cambiare di numero e dentro ai pannelli le CheckBox con le Label
private void CreaPannelli()
{
for (int j = 0; j < max_yP; j += 1)
{
tabella.RowStyles.Add(new RowStyle(SizeType.Percent, 100 / max_y));
for (int i = 0; i < max_xP; i += 1)
{
// Creo dinamicamente nella Tabella più Pannelli
FlowLayoutPanel pannello = new FlowLayoutPanel();
pannello.FlowDirection = FlowDirection.TopDown;
pannello.Margin = new Padding(1);
pannello.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
pannello.Name = String.Format("pannello_{0}");
pannello.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
pannello.Click += pannello_Click;
// Creo dinamicamente nei pannelli più CheckBox
CheckBox checkBoxP = new CheckBox();
checkBoxP.Tag = npcb.ToString();
checkBoxP.Text = "N. Pannello";
checkBoxP.AutoSize = true;
checkBoxP.Checked = true;
pannello.Controls.Add(checkBoxPCB);
checkBoxP.CheckedChanged += checkBoxP_click;
// Creo dinamicamente nei pannelli più Label
Label Label1 = new Label()
Label1.Text = "Label1";
pannello.Controls.Add(Label1);
Label Label2 = new Label();
Label2.Text = "Label2";
pannello.Controls.Add(Label2);
Label Label3 = new Label();
Label3.Text = "Label3";
pannello.Controls.Add(Label3);
tabella.Controls.Add(pannello, i, y);
}
}
}
//Nella funzione sottostante cambio il colore a tutte le label del pannello, ma non riesco a cambiare il colore alla singola label.
private void CambiaColoreLabel()
{
var control = tabella.Controls[statoWorkPcb];
FlowLayoutPanel Label = (FlowLayoutPanel)control;
Label.ForeColor = System.Drawing.Color.Red;
}
Grazie ancora per l'aiuto.
Ultima modifica effettuata da Thejuster 09/11/17 11:36
aaa