1 使用枚举表示多种状态

eg:

1 解决问题switch选择尽量不要使用字符串,使用枚举类型(枚举类型用英文表示)(1 先定义枚举类型 2 定义相应的类 3 使用类)
#region 选择线型
switch ((this.comboBox3.SelectedItem as cmdSelectline).Line)
{
case Linekind.线粗1号:
p = new Pen(colorDialog1.Color, 2);
break;
case Linekind.线粗2号:
p = new Pen(colorDialog1.Color, 4);
break;
case Linekind.线粗3号:
p = new Pen(colorDialog1.Color, 6);
break;
case Linekind.线粗4号:
p = new Pen(colorDialog1.Color, 8);
break;
case Linekind.线粗5号:
p = new Pen(colorDialog1.Color, 10);
break;

}
#endregion

2 添加combox的元素可以在窗体的构造函数中直接添加
this.comboBox1.Items.Add(new cmbSelectType() { Name = "位图", DrawType = ShapeKind.位图 });
this.comboBox1.DisplayMember = "Name";//要显示的部分
this.comboBox1.SelectedIndex = 0;

3
3.1 枚举的定义
public enum Linekind
{
线粗1号,
线粗2号,
线粗3号,
线粗4号,
线粗5号
}

3.2自定义类
public class cmdSelectline
{
public string Name
{
get;
set;
}
public Linekind Line;
}

 

 

2 使用枚举类型代替true&false(表示多种状态的时候)

enum State { move, draw, changeSize,none }
State drawState = State.none;//记录图形操作的几种状态

使用

if (drawState == State.draw)

posted on 2015-08-03 17:53  lvsally  阅读(173)  评论(0编辑  收藏  举报