so ändern Sie die überprüfen Bild auf eine checkbox
es hat text, ein Bild, und dann das Kontrollkästchen,
Ich verwenden möchten, ein besseres image für den check, kann aber nicht einen Weg finden, ändern Sie die checked und unchecked Bilder
this.checkBox1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Image = global::ClientExam.Properties.Resources.action32;
this.checkBox1.Location = new System.Drawing.Point(145, 140);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(273, 127);
this.checkBox1.TabIndex = 0;
this.checkBox1.Text = "checkBox1";
this.checkBox1.TextImageRelation = System.Windows.Forms.TextImageRelation.TextBeforeImage;
this.checkBox1.UseVisualStyleBackColor = true;
weiß jeder, der eins, das nicht von mir verlangen, das schreiben meiner eigenen Kontrolle?
- Wpf oder winform? möchten Sie ändern chenkbox Stil?
- es sieht aus wie WinForms.
- Ich habe deine bearbeiteten Titel. Bitte sehen, "Sollten Fragen enthalten "tags" im Titel?", wo der Konsens ist ", Nein, Sie sollten nicht".
- Tatsächlich, der Konsens war: "Sie haben nicht zu" 😉
- Ich lese das anders, bedeuten, "loswerden, die Sie ablenken von dem Titel"
- seine winforms, Und ich weiß, ich kann schreiben, meine eigenen Kontrolle oder außer Kraft setzen, es zu tun, aber ich wollte nicht das Rad neu zu erfinden, wie es scheint, wie die Art von Sache, die jemand anderes bereits geschrieben. Ich habe alle DevComponents aber auch Sie scheinen keine zu haben, zumindest nicht im bewusst. Wer kennt eine Komponente, die dies tun können, aus der box?
- Dies ist im Zusammenhang zu einer früheren Frage stackoverflow.com/questions/13124813/...
- Ich hatte gehofft, für ein Formular, das bereits erstellt wurde, um mich zu retten die arbeiten für das erstellen eines benutzerdefinierten Formulars. aber es sieht nicht, wie dies möglich ist. also werde ich schreiben Sie eine generische form und legte es auf sourceforge für alle, wenn ich es getan haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie suchen, wie dies in Winforms, die einfache Antwort ist, um erstellen Sie eine neue checkbox-Klasse abgeleitet aus CheckBox, dann überschreiben Sie die OnPaint Methode.
Hier ist ein Beispiel, wie man erstellen Sie benutzerdefinierte Suche Checkboxen durch überschreiben der
OnPaint
Methode:Es ist sehr einfach, aber es gibt Sie, die Grundidee.
Für alle, die es vorziehen, nicht zum überschreiben der OnPaint, es gibt eine alternative Lösung:
ImageList
Kontrolle und füllen Sie es mit Bildern zu reflektieren checked/unchecked Staaten.Checkbox
controlAppearance
EigenschaftButton
(um loszuwerden, der standard-CheckBox-Symbol)FlatStyle
EigenschaftFlat
(so, dass die Steuerung nicht wirklich Aussehen wie ein button).Hinweis: Sie können prüfen wollen, sein'
FlatAppearance
Gruppe von Eigenschaften zu. NämlichCheckedBackColor
,MouseDownBackColor
,MouseOverBackColor
, d.h., Sie alle zuControl
Wert.Checkbox
controlImageList
- Eigenschaft, um den Namen IhresImageList
Kontrolle.Checkbox
controlImageindex
undImageAlign
Eigenschaften entsprechend dem " aktuellen Zustand.Checkbox
controlTextImageRelation
Eigenschaft (dieser Wert wird nicht lassen Sie den text und Bild überschneiden, es sei denn, Sie wollen). I. e.ImageBeforetext
Wert vertritt gemeinsame CheckBox-Symbol Standort.Nun ist die einzige Sache Links zu tun ist, um das Bild zu ändern, wenn der Status geändert wird, smth like this:
Habe ich rund um dieses eine andere Weise, ich benutze das Hintergrundbild und zentrieren Sie es, dann ändern Sie das Hauptbild, wenn geprüft wird geändert.
diese erscheint, wie ich es mir vorstelle.
Gibt es ein problem mit diesem, hintergrund Bild, wenn Sie eine unangemessene Größe mit Untertritt die Sicherung prüfen, und so wäre es nicht richtig Aussehen.
die richtige Lösung ist, wie icemanind beschreibt.
Einfach :
überschreibt Kontrollkästchen
OnPaint(PaintEventArgs e)
wie folgt:Aber wenn du ein gutes haben willst, musst du verwenden wpf CheckBox ControlTemplate Beispiel