C#问题,在vs中,有多个textBox,和三个滚动条(RGB值)
要实现:用一组滚动条(RGB值)改变20个textBox文本框,当我点击第一个文本框时,可以改变点击的第一个textBox颜色,其他的文本框改不了。当我点击第二个文本框时...
要实现:用一组滚动条(RGB值)改变20个textBox文本框,当我点击第一个文本框时,可以改变点击的第一个textBox颜色,其他的文本框改不了。当我点击第二个文本框时,可以改变点击的第二个textBox颜色,其他的文本框改不了。第三个第四个。。。一样。应该要怎么解决?求大神帮忙
展开
2个回答
展开全部
//Form中声明全局颜色
public Color 全局保存的颜色;
//Form_Load中的代码
List<textBox> 文本框集合 = new List<textBox>();
文本框集合.Add(textBox1);
文本框集合.Add(textBox2);
...
...
文本框集合.Add(textBox20);
//滚动条R的代码
全局保存的颜色.R = 滚动条R.Value;
foreach (var 文本框 in 文本框集合)
{ 文本框.ForeColor = 全局保存的颜色;}
//滚动条G的代码
全局保存的颜色.G = 滚动条G.Value;
foreach (var 文本框 in 文本框集合)
{ 文本框.ForeColor = 全局保存的颜色;}
//滚动条B的代码
全局保存的颜色.B = 滚动条B.Value;
foreach (var 文本框 in 文本框集合)
{ 文本框.ForeColor = 全局保存的颜色;}
参考上面的代码,修改你的程序吧。
注意把滚动条的MaxValue和MinValue设置为255和0
更多追问追答
追答
//Color结构不能直接赋值,要使用这样的:
col = Color.FromArgb(col.A, hsbRed.Value, col.G, col.B);
//四个参数依次是A,R,G,B,所以另两个滚动条这样:
col = Color.FromArgb(col.A, col.R, hsbGreen.Value, col.B);
col = Color.FromArgb(col.A, col.R, col.G, hsbBlue.Value);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询