C#问题,在vs中,有多个textBox,和三个滚动条(RGB值)

要实现:用一组滚动条(RGB值)改变20个textBox文本框,当我点击第一个文本框时,可以改变点击的第一个textBox颜色,其他的文本框改不了。当我点击第二个文本框时... 要实现:用一组滚动条(RGB值)改变20个textBox文本框,当我点击第一个文本框时,可以改变点击的第一个textBox颜色,其他的文本框改不了。当我点击第二个文本框时,可以改变点击的第二个textBox颜色,其他的文本框改不了。第三个第四个。。。一样。应该要怎么解决?求大神帮忙 展开
 我来答
魔法软糖™
2016-12-21 · TA获得超过837个赞
知道小有建树答主
回答量:822
采纳率:94%
帮助的人:147万
展开全部
//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

更多追问追答
追问

在全局保存的颜色这里报这些错误,还是byte类型的。还有foreach循环是放在哪个方法里面的?本人对这个是小白,求大神说详细一点,谢谢!

追答
//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);
lybgl
2016-12-21 · TA获得超过290个赞
知道小有建树答主
回答量:903
采纳率:86%
帮助的人:233万
展开全部
这个可以实现,大致思路: 当滚动的时候,把RGB的值保存在变量中,点击文本框的时候,触发文本框click /mouseclick事件,修改文本框的背景色,背景色的颜色就是刚才保存在变量中的值,鼠标点击别的文本框时候,让恢复之前背景色就行;
更多追问追答
追问
本人刚刚接触vs和C#,对这个不太了解,能否有点代码参考?谢谢!
追答

是不是这样的效果,

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式