Entwickler-Ecke
WinForms - Label bei Klick markieren und Text-Eigenschaft überschreiben
chris300695 - So 11.12.11 17:04
Titel: Label bei Klick markieren und Text-Eigenschaft überschreiben
Hey Leute,
brauche mal wieder eure Hilfe.
Ich will bei Klick auf ein Label, dass der Text markiert wird und ich ihn überschreiben kann. Habe dazu im Web leider nichts gefunden,
ich hoffe dass ihr mir da heflfen könnt.
Gruß
Chris
Th69 - So 11.12.11 19:59
Hallo Chris,
meinst du wirklich ein Label oder aber eine TextBox?
chris300695 - So 11.12.11 20:26
ja, ich meine schon ein Label, bei einer Textbox wäre es ja kein Problem.
Geht das mit einem Label überhaupt?
Th69 - So 11.12.11 20:35
Nein, von sich aus nicht. Du müßtest dann eine TextBox (temporär) darüberlegen und anschließend (z.B. bei Return/Enter) wieder löschen (bzw. verstecken) und den Text für das Label übernehmen.
C# - So 11.12.11 22:46
ja das wäre die beste Lösung dafür.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| private void Label1_Click(object sender, EventArgs e) { TextBox textBox = new TextBox{Text = Label1.Text, Location = Label1.Location}; Label1.Visible = false; textBox.SelectAll(); textBox.Visible = true; textBox.KeyDown += TextBox1_KeyDown; }
private void TexBox1_KeyDown(object sender, KeyEventArgs e) { } |
sowas in der Art
Yogu - So 11.12.11 23:49
Du könntest auch statt den Labels TextBox-Controls nehmen, die du dann wie Labels aussehen lässt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| private void textBox1_Enter(object sender, EventArgs e) { textBox1.BorderStyle = BorderStyle.Fixed3D; textBox1.BackColor = SystemColors.Window; textBox1.SelectAll(); textBox1.Cursor = Cursors.IBeam; }
private void textBox1_Leave(object sender, EventArgs e) { textBox1.BorderStyle = BorderStyle.None; textBox1.BackColor = SystemColors.Control; textBox1.Select(0, 0); textBox1.Cursor = Cursors.Arrow; }
private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { textBox1_Leave(null, null); button1.Focus(); } } |
Bei Programmstart muss
textBox1_Leave aufgerufen werden, um das Control wie ein Label aussehen zu lassen.
mo0n_ - Mi 25.01.12 17:30
nichtmal danke sagt er :-/
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!