Domanda C# panel - centrare un titolo.

Pacifico437

Utente Gold
27 Aprile 2012
166
78
6
200
Buongiorno,
in un panel gradirei inserire una label con un testo e gradirei che sia al centro della panel:

Codice:
Panel.Location = new Point(400, 160);
Panel.Size = new Size(230, 180);
Panel.BackColor = Color.Yellow;
Panel.BorderStyle = BorderStyle.None;

Gradirei sapere se è possibile realizzare quanto sopra.

Anticipatamente ringrazio e fiducioso saluto,
Domenico.
 
C#:
        private void CenterLabel(Control parent, Label lbl)
        {
            lbl.AutoSize = false;
            lbl.Location = new Point(1, (parent.Height / 2) - (lbl.Height / 2));
            lbl.Size = new Size(parent.Width - 2, lbl.Height);
            lbl.TextAlign = ContentAlignment.MiddleCenter;
        }

CenterLabel(panel1, label1);
 
Ultima modifica:
Gent.mo JunkCoder,

ringrazio della gentilezza e tempestività e mi scuso del ritardo dovuto alle prove che purtroppo non sono riuscito a risolvere.
Senz'altro sarà colpa mia e riporto il codice completo con la preghiera di visionarlo.
Codice:
private void Btn_Ok_Click(object sender, EventArgs e)
{
    Panel.Visible = true;
    Panel.Location = new Point(20, 30);
    Panel.Size = new Size(230, 180);
    Panel.BackColor = Color.Yellow;
    Panel.BorderStyle = BorderStyle.None;

    Label.Visible = true; Label.Text = "Prova";

    CenterLabel(Panel, label);

private void CenterLabel(Control parent, Label lbl)
{
    lbl.AutoSize = false;
    lbl.Location = new Point(1, (parent.Height / 2) - (lbl.Height / 2));
    lbl.Size = new Size(parent.Width - 2, lbl.Height);
    lbl.TextAlign = ContentAlignment.MiddleCenter;
}
entrambe le Label (....Panel, label) e (.... parent, Label lbl) sono segnate di rosso.


Fiducioso, saluto.
Messaggio unito automaticamente:

Gent.mo JunkCoder,

ho risolto funziona perfettamente.

Una gentilezza per modificare l'altezza (su o giu) che modifica dovrei fare?

Ringrazio ed auguro un buon proseguimento.

Domenico
 
Buonasera theprogrammer99,

Attualmente la Label con il testo viene posizionata al centro del panel.
Gradirei modificare portandola in alto o in basso. (non vorrei al centro)
Che modifica dovrei fare?
Ringrazio della disponibilità e gentilezza, fiducioso saluto.
Domenico
 
Questa domanda non c'entra con la prima che hai fatto in questo thread. Per centrare la nuova posizione ti hanno detto che è

lbl.Location = new Point(1, (parent.Height / 2) - (lbl.Height / 2));

Se vuoi modificare la posizione verticale devi aggiungere o togliere un valore dalla seconda parte ovvero da

(parent.Height / 2) - (lbl.Height / 2)

ma mi sembra ovvio