Gast Max1809 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Guten Tag, und zwar wollt ich wissen, wie ich mein Textfeld so hinkriege, dass es erstmal Disabled ist, ein Text drinsteht wie "Geben Sie hier ihren Namen ein" o.ä. Und sobald man draufklickt verschwindet der Text und man kann was eigenes eingeben. Als Beispiel das Textfeld oben auf der Homepage von MSDN ( MSDN: Microsoft Developer Network (Deutschland) - .NET Framework, Visual Studio, Silverlight, Windows 7 und vieles mehr | MSDN Online ) da steht ja "MSDN durchsuchen mit Bing" Wie geht sowas? Ich habs so versucht, beim Konstrukter meines Fensters setze ich z.B. sleFeld1 auf Disabled und sleFeld1.Text = "Huhu" . Und dann dacht ich, schicke ich das MouseClick/LeftMouseClick_Event ( also bei Klick auf das sleFeld1 (Textbox) ) los und schreibe in das : sleFeld1.Disabled = false und halt sleFeld1.Text = string.empty .... aber das Event wird nie geworfen -.- Also is wohl diese Möglichkeit falsch. Zitieren
Goulasz Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 (bearbeitet) Wenn du nur diesen "grauen" Look haben willst, kannst du die Textbox erst auf Readonly stellen und per Klick dann Readonly wiede auf false setzen. Steuerelemente mit "Disabled = true" sind nach meinem Kenntnisstand für keinerlei selbstgesteuerte Ereignisse empfänglich. Gruß, Patrick Bearbeitet 21. Januar 2011 von Goulasz Kleinigkeiten geändert Zitieren
Gast Max1809 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Super Danke! Das reicht vollkommen aus, ja. Du eine andere Frage, wie mache ich einen string Kursiv? ^^ Zitieren
Goulasz Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Also wie du einen "string" kursiv stellst, kann ich dir nicht sagen, allerdings wie du den angezeigten Text in der Textbox änderst. Du musst der Textbox einen neuen Font zuweisen, was folgendermaßen geht. textBox1.Font = new Font(textBox1.Font, FontStyle.Italic); [/PHP] Für "textBox1.Font" kannst du natürlich auch eine andere Schriftart nehmen, aber so änderst du tatsächlich nur die Darstellungsart. Gruß, Patrick Zitieren
Gast Max1809 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Ich habe kein textbox1.Font ... nur FontStyle, Family ... Size Benutze WPF kein Forms. Und wenn ich versuche "textbox1.FontStyle." gibts da keine richtigen Fonts. Zitieren
SilentDemise Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Der Datentyp string als solches hat keine Darstellung, erst mit einem Steuerelement auf einem Formular / Webseite etc. kann man die Darstellungsweise verändern, siehe oben Zitieren
Gast Max1809 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Also irgendwie wird bei mir das Event doch net geschmissen ... habs folgendermassen: private void sleInventar_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { this.sleInventar.IsReadOnly = false; this.sleInventar.Text = string.Empty; } Zitieren
ToolsDevler Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Also ich habs auch schonmal gemacht und hab einfach die Events "Enter" und "Leave" benutzt. Is zwar nich schönster Code... private void txtLookFor_Enter(object sender, EventArgs e) { if (txtLookFor.Text.Equals("Suchwort...")) txtLookFor.Clear(); } private void txtLookFor_Leave(object sender, EventArgs e) { if (String.IsNullOrEmpty(txtLookFor.Text)) txtLookFor.Text = "Suchwort..."; } Des mit dem Readonly kannste dann ja an den entsprechenden Stellen einbauen. Hoffe ich konnte weiterhelfen. Zitieren
lbm1305 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Ich habe kein textbox1.Font ... nur FontStyle, Family ... Size Benutze WPF kein Forms. Und wenn ich versuche "textbox1.FontStyle." gibts da keine richtigen Fonts. <TextBox Text="Hallo Welt" FontStyle="Italic" /> gilt aber nur für diese Textbox. Sollte dieser Style für mehrere Textboxen gültig sein, definiere eine Style-Resource für den TargetType Textbox Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.