程序效果就是,运行时,窗体开始时白色的,用鼠标点击窗体1次,变一次颜色,依次为,变为红,绿,蓝,我感觉是不是应该声明一个颜色的类,我用if语句来判断第一种是否红色,然后才可以显现其他颜色!请大侠,在看看源码!颜色的类是怎么声明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 gaibianbeijingse //命名空间为改变背景颜色 { public partial class Form1 : Form // class 对象 form 继承 我感觉这里应该在声明一个颜色的类,下面才不会出错,但是又不知道怎么声明! { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) // 这里什么也没有写,窗体初始时的颜色 { }
private void btn1(object sender, MouseEventArgs e) //这里btn1 用鼠标点击事件, { this.BackColor = Color.Red; // 单击窗体后,变为红色 if(this.BackColor == Color.Red) // 到这里说red 不能为颜色。出现错误了!我想用if语句来改变颜色呢,但是if 语句 red 下面就划红色的线条 了, 就出错了 } } }
int flag = 0;BtnClick()
{
if(flag>= cols.Length) flag = 0;
this.BGColor = cols[flag];
flag++;
}
下面是源码!
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 改变背景色
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void btn1(object sender, MouseEventArgs e)
{
this.BackColor = Color.Red;
if (this.BackColor == Color.Red)
{
this.BackColor = Color.Blue;
}
}
}
}
{
changeColor(this.BackColor);
} private void changeColor(Color col)
{
Color newColor;
newColor = col == Color.Red ? Color.Blue : (col == Color.Blue ? Color.Green : Color.Red);
setColor(newColor);
//switch (col.ToString())
//{
// case "Color [Red]":
// setColor(Color.Blue);
// break;
// case "Color [Blue]":
// setColor(Color.Green);
// break;
// default:
// setColor(Color.Red);
// break; }
private void setColor(Color newColor)
{
this.BackColor = newColor;
}
private void button1_Click(object sender, EventArgs e)
{
Color[] cols = new Color[] { Color.Red, Color.Green, Color.Blue };
this.BackColor = cols[flag];
flag++;
if (flag == 3)
{
flag = 0;
}
}点击按钮 窗体换色按照红色绿色蓝色 一直变换。。希望有帮助
执行
if (this.BackColor == Color.Red)
{
this.BackColor = Color.Blue;
}
所以定格蓝色
public static Color[] c = { Color.Red, Color.Green, Color.Blue }; //颜色数组,三色就没必要创建类了
public static int index = 0; //需要用到的数组索引
private void Form1_MouseClick(object sender, MouseEventArgs e)//窗体单击事件
{
if (index == 0)
{
this.BackColor = c[index]; //更改颜色,并修改index的值
index++;
}
else if (index == 1)
{
this.BackColor = c[index];//同上
index++;
}
else
{
this.BackColor = c[index];
index=0;//恢复默认值,不然数组索引会越界
}
}
private void color()
{
this.BackColor = Color.Transparent;
if (this.BackColor == Color.Transparent)
{
this.BackColor = Color.Blue;
}
else if (this.BackColor == Color.Blue)
{
//红色
}
//依次判断吧
}
private void btn1(object sender, MouseEventArgs e)
{
this.BackColor = Color.Red;
if (this.BackColor == Color.Red) {
this.BackColor = Color.Blue;
}
}
你在这里断点就知道有没有变为红色了 其实变了红但是下面变为了蓝