2016-06-02 11 views
0

Wie die Frage anzeigt, habe ich einige "flatstyle" Buttons und Checkboxen. Der einzige Punkt, den ich anscheinend nicht in einen flachen Stil umwandeln kann, ist eine Checklistenbox. Dadurch sieht die Checklistenliste auf dem Formular fehl am Platz aus.Checkedlistbox Checkboxen sind "Standard" -Stil, möchte ich Flattyle?

Ich habe gesucht und nur mit ThreeDCheckboxes kommen, die sichtbar nichts tut?

Alle diese Informationen zu greatfully

Prost

+0

"Flache" Steuerelemente sind seit langem veraltet. Sie wurden seit der Einführung von Visual Styles (Windows XP) wie 3D-Steuerelemente gezeichnet. Das WinForms-Framework muss es durch Eigentümerzeichnung simulieren. Das Ergebnis ist hässlich und inkonsistent mit der Standard-Plattform-Benutzeroberfläche. Die beste Lösung besteht darin, * all * controls 'FlatStyle'-Eigenschaft auf 'System' zu setzen. –

Antwort

0

Dies könnte Ihr Problem lösen würde empfangen werden. Beim Laden von Formularen können Sie visuelle Stile für das gesamte Formular deaktivieren.

private void frm_Load(object sender, EventArgs e) 
{ 
    Application.VisualStyleState = VisualStyleState.NoneEnabled; 
    this.Invalidate(); 
} 

Wird dies für Sie funktionieren?

+1

Dann ist es einfacher, die Zeile 'Application.EnableVisualStyles();' in der Datei Program.cs zu löschen. –

+0

@AlexanderPetrov Ja, Sie haben Recht. Wenn ich die VisualStyles nicht deaktiviere, sehe ich keinen anderen Weg. –

+0

Es gibt keinen anderen Weg. Ich erkläre den Grund warum in meinem Kommentar oben. Wenn Visual Styles aktiviert sind, werden alle Checkboxen vom System genau so gezeichnet. Es gibt keinen Unterschied mehr zwischen "flachen" und "3D" -Steuerelementen. Die einzige andere Sache, die Sie tun könnten, wäre, die Checkbox vollständig zu zeichnen. Das würde für eine CheckedListBox bedeuten, dass Sie die gesamte Listbox zeichnen und die Checking/Unchecking-Logik selbst implementieren. Sehr davon abgeraten, wird Ihre Implementierung unweigerlich fehlerhaft sein. Ich sehe keinen zwingenden Grund, darauf zu bestehen, dass deine Kontrollen hässlich sind und trotzdem anders aussehen. –

0

Sie könnten CheckBox ComboBox Komponente verwenden. Keine ListView, sondern FlatStyle implementieren und ähnliches Verhalten bieten, wenn Sie nicht viele Elemente haben.

Verwandte Themen