

Trackbar - specifický zádrhel v c#
Znovu dnes zdravím všechny zúčastněné programátory.
Myslíte že může fungovat toto:
private void trackBarCervena_Scroll(object sender, EventArgs e)
{
if (zmenaPozadi.Checked)
{
this.BackColor = Color.FromArgb(trackBarCervena.Value, trackBarModra.Value, trackBarZelena.Value);
lb_Pozadi_Cervena.Text = trackBarCervena.Value.ToString();
}
else if (zmenaStitku.Checked)
{
label1.BackColor = Color.FromArgb(trackBarCervena.Value, trackBarModra.Value, trackBarZelena.Value);
//label1.Text = Color.FromArgb(cervena, modra, zelena);
label1.Text = Color.FromArgb(255 - trackBarCervena.Value, 255 - trackBarModra.Value, 255 - trackBarZelena.Value);
lb_PozadiStitek_Cervena.Text = trackBarCervena.Value.ToString();
lb_TextStitek_Cervena.Text = 255 - trackBarCervena.Value.ToString();
//lb_TextStitek_Cervena.Text=cervena.ToString();
}
else
{ }
}
Jde o to že potřebuji aby se mi v labelu ukazovala hodnota barvy textu,která je převrácená k hodnotě barvy pozadí, proto to 255 - hodnota barvy na trackbaru.
Hodí mi to vždy tuto úžasnou chybu:
Operator '-' cannot be applied to operands of type 'int' and 'string'
Jinými slovy se tomu nelíbí, že 255 je string a trackbarXXX.value je integer. Zkoušel jsem tam dát int rgb=255; a pak dosadit místo 255 >> rgb, ale nepomohlo to.
Pro pochopení: Úloha spočívá ve třech trackbarech, každý pro jednu barvu (red,green,blue) a přitom my si pomocí radiobuttonů vybereme, zda chceme měnit barvu pozadí formuláře anebo barvu textu štítku (labelu) a jeho pozadí - tyto hodnoty jsou k sobě převrácené!
Nevím, zda to někdo chápe, každopádně za každou radu jsem rád.