windows form, wie fügen Sie ein Symbol, das rechts oder Links von einem text-Feld
Baue ich eine Windows form-Anwendung und ich habe ein Textfeld für die Suche Zwecke.
Ich würde gerne eine Suche-Symbol im inneren der text box, an der rechten oder linken
wie diese:
Ich würde lieber auf der rechten
Update 1
Ich bin Fragen zu Windows forms nicht ASP.net oder MVC
Seltsam Konzept. Aus user-Sicht würde ich es vorziehen, um zu sehen, Symbole wie diese für das Recht der Kontrolle und nicht Links wie in deinem Beispiel.
das ist die Suche pannel auf dieser website 🙂
Siehe hier: Taste innerhalb einer winforms-textbox Dies ist nicht exakte Duplikate, da Sie Fragen über ein Symbol statt eines Knopfs. Aber die Antwort ist fast identisch. Nur ein kleines zwicken ist erforderlich, um Ersatz für eine Taste einer PictureBox (oder was anderes, das kann ein Symbol angezeigt). Ich stark empfehlen Hans Antwort über die alternativen.
Dank
das ist die Suche pannel auf dieser website 🙂
Siehe hier: Taste innerhalb einer winforms-textbox Dies ist nicht exakte Duplikate, da Sie Fragen über ein Symbol statt eines Knopfs. Aber die Antwort ist fast identisch. Nur ein kleines zwicken ist erforderlich, um Ersatz für eine Taste einer PictureBox (oder was anderes, das kann ein Symbol angezeigt). Ich stark empfehlen Hans Antwort über die alternativen.
Dank
InformationsquelleAutor Agnieszka Polec | 2014-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine
Panel
eineTextBox
und einPictureBox
.Die TextBox gesetzt werden müssen, in ein Panel, so dass Sie nicht schreiben können über Ihre such-Bild.
Wenn ich nicht die pannel, wird es gut sein?
Der Punkt der Platte ist Simulation "gut" der TextBox. Sie müssen auch legen Sie seine Eigenschaften angemessen zu geben, eine Grenze, die Spiele der TextBox. Und legen Sie das Textfeld, um randlos.
Noch einfacher: Verwenden Sie ein Label! Es kann das Bild dargestellt, kann darauf geklickt werden und erspart Ihnen eine teure Kontrolle. Legen Sie das übergeordnete Element in der load-Ereignis:
textBox1.Parent = label1; textBox1.Location = Point.Empty;
wird das Bild auf der linken Seite wählen Sie einen entsprechenden Wert für das Textfeld.Links!Meh. Panels und labels sind nicht teurer als die anderen. Es ist mehr offensichtlich, dass Sie einen container verwenden, wenn Sie verwenden ein Panel eher als ein Label.
InformationsquelleAutor tezzo
Können Sie erstellen Sie ein neues Benutzersteuerelement, die den gewünschten Auftrag. Sie haben zu erweitern die TextBox-Klasse. Betrachten Sie den code unten:
Und in der OnPaint-Methode können Sie angeben, das Bild. Sie können auch erweitern diese um eine benutzerdefinierte Eigenschaft, die den Pfad für das Bild. Ihrer Wahl.
Was hält der text erscheint über dem Bild?
wo ist der Pfad für das Bild bitte in dem oben genannten Beispiel?
Es gibt keine image-Pfad. Sie müssen hinzufügen, dass, Sie sich. Atanas ' s code hat eine
BitmapImage
Eigenschaft, die einBitmap
Objekt. DieBitmap
Klasse hat eine Methode lädt eine bitmap aus einer Datei:Bitmap.FromFile(...)
InformationsquelleAutor Atanas Desev
Verwendung einer Benutzer-Steuerelement oder das hinzufügen von code jedes mal, wenn Sie wollen kann das sehr umständlich. Die Art, wie ich handle dies ist, fügen Sie ein Initialisierer der Klasse, die aufgerufen werden kann, aus meinem Formular zur Laufzeit. Das Verhalten von diesem code, wenn der Benutzer mit der Eingabe beginnt, das Bild verschwindet. Wenn das Textfeld keinen Inhalt hat, dann das Bild erscheint. Ich Griff click-Ereignis für das Bild-Feld zum setzen des Fokus auf das Textfeld, um die Erhaltung der illusion, dass es Teil der Kontrolle und versetzt die Links, um zu ermöglichen, das | die angezeigt werden, die zeigen, dass die textbox den Fokus hat und bereit ist zum empfangen von Eingabe.
Schreiben einen controller anstelle einer Benutzer-Steuerung, die ich vermeiden, propagieren alle Ereignisse und Eigenschaften aus der textbox durch meine Benutzer-Kontrolle. Diese Klasse ist abhängig vom System.Windows.Formen, und kann entweder direkt in Ihrer Windows Forms-Anwendung, oder Hinzugefügt, um ein Steuerelement-Bibliothek, die aufgerufen werden können, die von mehreren Anwendungen.
Ist hier, wie die Klasse verwendet werden würde von der form:
Solange das Textfeld vorhanden ist, und wurde zum Formular Hinzugefügt, der Anruf kann jederzeit passieren.
InformationsquelleAutor James Bunch
Schlage ich
RichTextBox
stattTextBox
.Und Sie können die BackgroundImage-Eigenschaft in den Laden des Formulars :Und Sie müssen hinzufügen der Umgang mit events wie
TextChanged
undleave
- und Ausblenden des hintergrund BildWas ist das schreckliche an der Idee?? meinst du, dass das ändern der textbox zur richtextbox ist schrecklich oder was genau , bitte erklären
Ein
RichTextbox
ist eine sehr teure Kontrolle. Keiner seiner Funktionen sind gefragt. Auch mit einemPictureBox
ist übertrieben. Der einfachste Weg ist die Verwendung einesTextbox
innerhalb einerLabel
.Wenn ich uderstood Sie denken, dass die Inbetriebnahme der "Suche" word als Standard-text in der textbox ist besser und einfacher als die änderung der textbox zur richtextbox-Steuerelement. Aber, ich denke, die OP wissen, dass Sie braucht, um ein Symbol hinzuzufügen, nicht eine einfache "Suche" - text. Um ehrlich zu sein, ich weiß nicht, eine Methode zum hinzufügen eines Bilds als hintergrund in einer textbox , aus diesem Grund schlage ich vor, es zu ändern richtextbox, die diese Eigenschaft haben.
Nein, Sie verstanden mich nicht. Der Text sollte gelöscht werden von
Label
und ein Bild Hinzugefügt werden soll, statt! Hinweis: Die gute alteLabel
ist wahrscheinlich die moste unterschätzte allerControls
. Tun haben einen Blick auf ihn!! Es kann zeigen, ein ausgerichtet Bild nur als angefordert wurde.InformationsquelleAutor Lamloumi Afif
Entlang der Linien von Atanas Antwort habe ich Folgendes gefunden, gut zu arbeiten.
Den
SearchImage
undCancelSearchImage
Eigenschaften können festgelegt werden, um die Steuerung der Bilder verwendet.Einer EM_SETMARGINS-Nachricht gesendet wird, um zu verhindern, dass text, der vom verschwinden unter der Schaltfläche.
InformationsquelleAutor Woolly
Entlang der Linien von Atanas Antwort habe ich Folgendes gefunden, gut zu arbeiten. Die
SearchImage
undCancelSearchImage
Eigenschaften können festgelegt werden, um die Steuerung der Bilder verwendet.InformationsquelleAutor Woolly