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: 索引超出了数组界限。 展开
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: 索引超出了数组界限。 展开
3个回答
展开全部
我想楼上的已经解决楼主大部分的问题,至于循环十次你的数组元数要达到十个吧,不过就算有十个你也不会看得出明显的变化效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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());
}
}
}
楼上说的也对,你应该加个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());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询