欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中枚举类型和radiobox关联操作的方法

程序员文章站 2022-07-01 17:03:07
本文实例讲述了c#中枚举类型和radiobox关联操作的方法。分享给大家供大家参考。具体分析如下: 有了enum我们可以列举类型了,有了单选框和复选框我们可以鼠标来选择了...

本文实例讲述了c#中枚举类型和radiobox关联操作的方法。分享给大家供大家参考。具体分析如下:

有了enum我们可以列举类型了,有了单选框和复选框我们可以鼠标来选择了。但是编程的时候觉得让两个关联起来,写代码比较麻烦,所以想自动的关联起来。所以我尝试了一下,记录如下。

假如一个星期的enum:

public enum 星期
{
  星期一 = 0,
  星期二,
  星期三,
  星期四,
  星期五,
  星期六,
  星期天
}

关联到7个radiobutton,也就是单选框。
第一步在enum中定义星期一=0;
第二步在初始化函数中如下定义:

public mainform()
{
 //
 // the initializecomponent() call is required 
 //for windows forms designer support.
 //
 initializecomponent();
 //
 // todo: add constructor code 
 // after the initializecomponent() call.
 //
 int idx = 0;
 foreach(control c in groupbox1.controls)
 {
  if(c is radiobutton)
  {
   ((radiobutton)c).text = ((星期)idx).tostring();
   ((radiobutton)c).tag = ((星期)idx);
   idx++;
  }
 }
}

第三步添加测试代码:

void button1click(object sender, eventargs e)
{
 foreach(control c in groupbox1.controls)
 {
  if(c is radiobutton)
  {
   if(((radiobutton)c).checked == true)
   {
    星期 week = (星期)(((radiobutton)c).tag);
    messagebox.show(week.tostring());
   }
  }
 }
}

注意:groupbox中控件的顺序在这些代码中控制,假如发现顺序不对,就要重新调整一下。

this.groupbox1.controls.add(this.radiobutton1);
this.groupbox1.controls.add(this.radiobutton2);
this.groupbox1.controls.add(this.radiobutton3);
this.groupbox1.controls.add(this.radiobutton4);
this.groupbox1.controls.add(this.radiobutton5);
this.groupbox1.controls.add(this.radiobutton6);
this.groupbox1.controls.add(this.radiobutton7);

希望本文所述对大家的c#程序设计有所帮助。