Winforms combobox background - c#

I've tried to change the background of a ComboBox using:
comboBox.BackColor = Color.Crimson;
And I get white borders like this:

You can set additionally to the BackColor the FlatStyle to flat:
this.comboBox1.BackColor = Color.Red;
this.comboBox1.FlatStyle = FlatStyle.Flat;
Or in the designer:
This is the result:
However, if you want to add more extra features, it's advisable to create your own component, which would be a little bit more complicated.

Related

Weird grey background on checkbox

I am creating an application for a new RPG that I am creating. The application has a specific theme and I want to change the checkboxes and buttons to black and the cyan color I chose. On loading the form I use the following code to change the color of the boxes.
coloredCheckBoxes.Add(checkBox1);
coloredCheckBoxes.Add(checkBox2);
foreach (CheckBox checkBox in coloredCheckBoxes)
{
checkBox.FlatStyle = FlatStyle.Flat;
checkBox.FlatAppearance.BorderSize = 1;
checkBox.FlatAppearance.BorderColor = Color.FromArgb(0, 211, 211);
checkBox.FlatAppearance.CheckedBackColor = Color.Black;
checkBox.FlatAppearance.MouseOverBackColor = Color.Black;
checkBox.FlatAppearance.CheckedBackColor = Color.Black;
checkBox.BackColor = Color.Black;
}
No matter how many colors I change the back color of the check boxes still remain this weird grey color.
The check boxes also become lighter if I move my cursor over the boxes as if checkBox.FlatAppearance.MouseOverBackColor = Color.Black; was not used. Is there a way to fix this issue hopefuly without creating a custom checkbox class?
I understand what you need finally.(I remove any old answer)
Try this,
- MetroFramework UI - Original by Peter.
- MetroFramework UI - Forked, dennismagno(Recommand).
- MetroFramework UI - Forked, thielj.
Also provided source code, so you can modify it.

How to change multiple label's text color at the same time in Xamarin Forms?

I have multiple Labels inside a Grid which are places in different grid rows and columns. I want to change all the label's font color into just one color whenever I select a different theme color in my settings. At the moment I have the following code in C#:
correctLabel.TextColor = Color.Black;
textLabel.TextColor = Color.Black;
emptyLabel.TextColor = Color.Black;
detail1.TextColor = Color.Black;
detail2.TextColor = Color.Black;
detail3.TextColor = Color.Black;
As you can see, this code could be longer if I decided to add more Labels. Is there a way to do this in one line?
Your question is already leading to the right assumption, you shouldn't do it per view element.
If you are able to use the 2.3 preview, there's built-in support for themes, check out the docs.
Prior to 2.3 pre you can use ControlTemplates, a nice sample can be found here.
Edit: If you're not aiming to theme the whole app, you can bind to a color in your view model of you are familiar with that and by changing that color, the label colors would adapt it. I guess maybe that comes closer to the one-line approach.

TransparencyKey Property on Forms

I would like to swith my form background transparency with Visual C# in a Windows Forms Application.
I used
BackColor = Color.White;
TransparencyKey = Color.White;
Now I want to switch back to "not transparent". How can I accomplish that? Just switching the BackColor makes the elements on the form look strange and it feels ugly.
I guess there is a way to reset the property.
this is the original value:
this.TransparencyKey = Color.Empty;
You could set this, and then nothing will be transparent.
How about storing the previous values of BackColor and TransparencyKey in local variables, and restoring them when you want to revert to non-transparent? For instance:
private Color _oldBG;
private Color _oldTPKey;
private void MakeTransparent() {
_oldBG = BackColor;
_oldTPKey = TransparencyKey;
BackColor = Color.White;
TransparencyKey = Color.White;
}
private void MakeNonTransparent() {
BackColor = _oldBG;
TransparencyKey = _oldTPKey;
}
It's eleven years later, but I ran into this problem. So for any other readers: I set the transparency key mistakenly. A post from another forum said you could right click it, at design, and then reset it, but reset was disabled (grayed out). So I simply backspaced out the 'White' (in design) that was set. (I am confident it set it to 'Color.Empty' as one of the guys here noted.) Problem solved. I should say that I was using an ancient version of .net. Hopefully this will also work in more up to date versions.

Change zedgraph pane background color

Is it possible to change the background color (white by default) of a zedgraph pane?
I tried changing the background color of the zedgraph element, but it doesn't give any visible result, background is still white:
ZedGraphControl.BackColor = System.Drawing.Color.Black;
And there doesn't seem to exist a Color or BackColor property on ZedGraphControl.GraphPane.
myChart.GraphPane.Chart.Fill.Color = System.Drawing.Color.Black;
You can use
zg.GraphPane.Chart.Fill.Color = SystemColors.ControlText;
to change the background [only] of the chart.
If you want to change the background color the zedgraph except the chart, use
zg.GraphPane.Fill.Color = SystemColors.ControlText;
If you want to change the background color of everything in the zedgraph, use both:
zg.GraphPane.Chart.Fill.Color = SystemColors.ControlText;
zg.GraphPane.Fill.Color = SystemColors.ControlText;
EDIT: I know that you already solved your problem but I made this so if someone searches it, he can solve his problem quickly :)
myChart.GraphPane.Fill.Color = System.Drawing.Color.Black; will create a gradient fill started with black color. If you don't want to use gradient you should use -
myChart.GraphPane.Chart.Fill.Brush = new System.Drawing.SolidBrush(Color.Black);
Hope this will solve your problem.

How can I call the Control color, I mean the default forms color?

For instance, to make something blue I would go:
this.BackColor = Color.LightBlue;
How can I summon the Control color, the khaki one.
Thanks SO.
The System.Drawing.SystemColors class has properties exposing the various system colours, so you can do
this.BackColor = SystemColors.Control;
The full range of properties to access other colours is listed on MSDN.
I haven't tested this, but I believe it to be:
this.BackColor = Control.DefaultBackColor;
this.BackColor = default(Color);
Seems to be the color that the form designer uses...
Another way for example is to use the Transapernt to set the color of control Parent
this.BackColor = Color.Transparent;

Categories

Resources