Hallo,
ich nutze ein tabControl auf einem Schwarzen Hintergrund.
Nun sehe ich das das tabControl auf der rechten Seite einen weißen Rand hat.
Man sieht deutlich, dass das TabControl an der grauen Linie endet und der weiße Rand dranhängt.
Gibt es eine Möglichkeit diesen Rand zu entfernen oder wenigstens schwarz zu färben?
Vielen Dank
Mit freundlichen Grüßen,
SeCuRiiTaS
Zur Information: Der Thread stand zum Zeitpunkt der folgenden Frage in "GUI: WPF und Silverlight". Aber die Antwort zeigt, dass es um Windows Forms geht ==> verschoben. Danke an Karill Endusa für den Hinweis.
Wie sieht dein WPF bzw. Theme Code den aus?
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung
C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
Hallo,
das tabControl hab ich einfach über meine Werkzeuge (Tools) verwendet.
Wurde also automatisch generiert.
//
// tabControl
//
this.tabControl.Controls.Add(this.tabPersonen);
this.tabControl.Controls.Add(this.tabOrganigramm);
this.tabControl.Controls.Add(this.tabSonstige);
this.tabControl.Enabled = false;
this.tabControl.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tabControl.ItemSize = new System.Drawing.Size(65, 20);
this.tabControl.Location = new System.Drawing.Point(4, 9);
this.tabControl.Margin = new System.Windows.Forms.Padding(0);
this.tabControl.Name = "tabControl";
this.tabControl.Padding = new System.Drawing.Point(0, 0);
this.tabControl.SelectedIndex = 0;
this.tabControl.Size = new System.Drawing.Size(522, 427);
this.tabControl.TabIndex = 1;
this.tabControl.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
Mit freundlichen Grüßen,
SeCuRiiTaS
Hallo SeCuRiiTaS,
üblicherweise gibt es vom Control keine Unterstützung, um einzelne Details anzupassen. Aber du kannst es natürlich mal mit Control.BackColor probieren.
Wenn du von dem Control erbst, kannst du OnPaint überschreiben, base.OnPaint aufrufen und anschließend, die Bereiche überzeichnen, die anders aussehen sollen. Allerdings solltest du beachten, dass Controls üblicherweise nicht nur eine Darstellung besitzen, sondern normalerweise mindestens für jede Oberfläche (Win2k, Luna, Aero, MetroDesign) eine. Wenn man einfach fest einen bestimmten Bereich übermalt, sieht das unter einer anderen Oberfläche vermutlich sehr ungewollt und störend aus.
herbivore
BackColor gibt es bei einem TabControl nicht.
Die zweite Variante scheint mir nicht so gut zu sein. Aufgrund deiner Erklärung.
Mit freundlichen Grüßen,
SeCuRiiTaS
TabControl wie jedes andere Control unter Windows.Forms erbt von System.Control was wiederum die Eigenschaft BackColor besitzt. (Ich vermute aber dennoch, dass dies den äußeren Rand hier nicht verändern wird)
Lg, XXX
Okay ich hab das nun mal angwendet. Hat leider keine Veränderungen gebracht.
Mit freundlichen Grüßen,
SeCuRiiTaS
Bei WPF kann man auch negative Margins setzen... das könnte hier zB funktionieren indem du den weißen Rand einfach unter den schwarzen Rand außen drunterschiebst. Aber ich befürchte das negative Margins bei Windows.Forms nicht möglich sind.
Als alternativen (schmutzigen) Workarround kannst du noch schwarze Panels über den weißen Rand legen.
Lg, XXX
Ich habe deine Alternative angewendet und das sieht nun gut aus. Schmutzig aber klappt 😛 Danke.
Mit freundlichen Grüßen,
SeCuRiiTaS