Domanda

Sto scrivendo un programma che ottiene dati dal registro e quindi aggiunge Groupbox a una tabcontrol e in GroupBox vorrei creare come molti controlli dell'etichetta (per visualizzare le informazioni del registro) come molti dati (chiave-Valore coppie) Ho ottenuto. Per fare ciò ho fatto questa funzione:

private void AddAllControl()
{
    GroupBox TestGroupBox = new GroupBox();
    TestGroupBox.AutoSize = true;
    TestGroupBox.Text = "valami";
    TestGroupBox.Height = 500;
    for (int i = 0; i < 21; i++)
    {
        Label TempLabel = new Label();
        TempLabel.Text = i.ToString();
        TempLabel.Location = new System.Drawing.Point(20 + i, 30);
        TempLabel.Show();
        TempLabel.Visible = true;
        TempLabel.Enabled = true;
        TestGroupBox.Controls.Add(TempLabel);               
    }
    tabPage_SandBox.Controls.Add(TestGroupBox);
}
.

Questa funzione viene elaborata quando è stato premuto un pulsante.Dopo che il GroupBox viene visualizzato correttamente, ma solo 1 etichetta il primo (con testo= 0) viene visualizzato invece di 21 etichetta. Quando mi smesso di eseguire il debug del programma vedo che tutte le etichette sono esiste e tutta la proprietà è corretta, tuttavia non appaiono. Ci deve essere qualcosa che non ho notato. E ora la mia domanda?Cosa ho sbagliato? Come puoi vedere ho provato la proprietà visible e enabled, ma nessuno dei due portami la soluzione.

È stato utile?

Soluzione

Devi impostare

  TempLabel.AutoSize = true;
.

E devi modificare il percorso un po 'come

 TempLabel.Location = new System.Drawing.Point(20 + 10 * i, 30);
.

o penso che tu voglia avere le etichette uno sotto l'altro, quindi devi impostare la posizione come

 TempLabel.Location = new System.Drawing.Point(20, 20+20 * i);
.

Altri suggerimenti

If your Labels are a constant size then

TestGroupBox.Controls.Add(new Label()
{
    Text = i.ToString(),
    Location = new Point(20 + (i*20), 30),
    Size = new Size(20, 20)
});

Would do the trick

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top