C#的WinForm编程的一个小问题 题目是:实现一个改变窗体背景颜色的功能

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da... using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 练习1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btn1_Click(object sender, EventArgs e)
{
this.btn1.BackColor == Color.Red;
}

private void btn2_Click(object sender, EventArgs e)
{
this.btn2.BackColor == Color.Blue;
}

private void btn3_Click(object sender, EventArgs e)
{
this.btn3.BackColor == Color.Green;
}

private void btn4_Click(object sender, EventArgs e)
{
Color[] color = new Color[] { color.Red,color.Blue,color.Green };
for (int i = 1; i < 10; i++)
{
this.BackColor = color[i];
}
}

}
}

出现了以下几个问题:望解决!
错误 1 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 E:\学习文档\C#\练习1\练习1\Form1.cs 21 13 练习1
错误 2 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 E:\学习文档\C#\练习1\练习1\Form1.cs 26 13 练习1
错误 3 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 E:\学习文档\C#\练习1\练习1\Form1.cs 31 13 练习1
错误 4 “System.Array”不包含“Red”的定义,并且找不到可接受类型为“System.Array”的第一个参数的扩展方法“Red”(是否缺少 using 指令或程序集引用?) E:\学习文档\C#\练习1\练习1\Form1.cs 36 49 练习1
错误 5 “System.Array”不包含“Blue”的定义,并且找不到可接受类型为“System.Array”的第一个参数的扩展方法“Blue”(是否缺少 using 指令或程序集引用?) E:\学习文档\C#\练习1\练习1\Form1.cs 36 59 练习1
错误 6 “System.Array”不包含“Green”的定义,并且找不到可接受类型为“System.Array”的第一个参数的扩展方法“Green”(是否缺少 using 指令或程序集引用?) E:\学习文档\C#\练习1\练习1\Form1.cs 36 70 练习1

最好你能运行以下看看是否正确
我是说在不改变颜色个数的情况下,是循环10次这三个颜色,并弹出消息框。
我只能很简单的改了下代码(我的能力有限,改的是第1楼的网友代码):
private void btn4_Click(object sender, EventArgs e)
{
Color[] color = new Color[] { Color.Red, Color.Blue, Color.Green };
for (int i = 1; i < 10; i++)
{
this.BackColor = color[i];
MessageBox.Show(color[i].ToString());
}
}
但是出现了:
System.IndexOutOfRangeException: 索引超出了数组界限。
展开
 我来答
蜗牛优选推荐
2011-09-24 · TA获得超过141个赞
知道答主
回答量:73
采纳率:0%
帮助的人:107万
展开全部
赋值,用一个等于号。 this.btn1.BackColor = Color.Red;
btn4_Click中,颜色数组有三个元素,循环10次,也会出现问题;
更多追问追答
追问
还有三个问题存在...
追答
Color[] color = new Color[] { Color.Red,Color.Blue,Color.Green };
Color大小写
不屑风
2011-09-24 · TA获得超过132个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:137万
展开全部
我想楼上的已经解决楼主大部分的问题,至于循环十次你的数组元数要达到十个吧,不过就算有十个你也不会看得出明显的变化效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蘿蔔冷麵
2011-09-24 · TA获得超过371个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:260万
展开全部
int i=0,或是i<11吧,若是int i=1;i<10不就是循环9次?
楼上说的也对,你应该加个timer控件,让这个循环线程先暂停1秒,然后再继续执行

private void btn4_Click(object sender, EventArgs e)
{
Color[] color = new Color[] { Color.Red, Color.Blue, Color.Green };

for (int i = 0; i < color.Length; i++)
{
for (int j = 0; j < 10; j++)
{
this.BackColor = color[i];
MessageBox.Show(color[i].ToString());
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式