Ich möchte Benutzern erlauben, eine Hintergrundfarbe für mein Programm mit einem ColorDialog
auswählen, aber wie der Text meines Labels ist schwarz, ich möchte den Benutzer nicht in der Lage, schwarz aus dem Farbdialog auswählen damit die Farbe nicht meine Etiketttextfarbe überlappt. Kann ich das irgendwie? Ich habe auch eine Fehlermeldung von der Erziehung gedacht, wenn der Benutzer schwarz wählt, wie unten gezeigt, aber nach dem Farbdialog kommt wieder die Farbe, die ich ausgewählt nicht wird die Backcolor meiner FormDeaktivieren einer Farbe aus Farbdialog
if (color.ShowDialog() == DialogResult.OK)
{
if(color.Color == Color.Black)
{
MessageBox.Show("Color cannot be black", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
color.ShowDialog();
}
else
{
BackColor = color.Color;
backColor = color.Color;
}
}
Klingt wie 'while', bis die richtige' Color' ausgewählt ist. – Sinatr
Haben Sie darüber nachgedacht, zu einer hellen Textfarbe zu wechseln, wenn eine dunkle Hintergrundfarbe ausgewählt wurde, anstatt den Benutzern nur zu sagen, dass ihre Auswahl falsch ist? –
Lassen Sie den Benutzer "BackColor" und "ForeColor" für das Formular auswählen. Auf diese Weise können sie wählen, welche Farbkombination sie wünschen. –