C# Button/SimpleButton (按钮) 动态赋值
简介
实现功能,当点击数字按钮时,赋值到文本框中,再次点击时,按钮取消,文本框内本按钮值清空,每一个按钮都对应一个值,最后存入到数据库中,每一个按钮和数据库表字段一一映射,大概就是这么一个功能,结合图片理解一下
1. 定义实体类
定义实体类,与按钮一一映射
public class Hpv诊断_Data
{
#region 阳性
#region 低危型
public bool 低危型_6 { get; set; }
public bool 低危型_11 { get; set; }
#endregion
#region 高危型
public bool 高危型_16 { get; set; }
public bool 高危型_18 { get; set; }
#endregion
#endregion
public bool 阴性_IC { get; set; }}
public string 检测结果 { get; set; }
public string 低危型 { get; set; }
public string 高危型 { get; set; }
}
2. 按钮点击赋值实体类
//在类上方调用实体类
private Element.Hpv诊断_Data Hpv_诊断_Data;
//调用按钮
//所有按钮绑定同一个Click
private void 中_Button_Click(object sender, EventArgs e)
{
DevExpress.XtraEditors.SimpleButton button = sender as DevExpress.XtraEditors.SimpleButton;
//按钮点击触发bool值
//获取按钮属性名(低危型_6)
#region 低危型(bool类型赋值)
if (button.Name== "低危型_6")
{
bool value = Hpv_诊断_Data.低危型_6;
Hpv_诊断_Data.低危型_6 = !value;
}
if (button.Name == "低危型_11")
{
bool value = Hpv_诊断_Data.低危型_11;
Hpv_诊断_Data.低危型_11 = !value;
}
#endregion
#region 高危型(bool类型赋值)
if (button.Name == "高危型_16")
{
bool value = Hpv_诊断_Data.高危型_16;
Hpv_诊断_Data.高危型_16 = !value;
}
if (button.Name == "高危型_18")
{
bool value = Hpv_诊断_Data.高危型_18;
Hpv_诊断_Data.高危型_18 = !value;
}
if (button.Name == "阴性_IC")
{
bool value = Hpv_诊断_Data.阴性_IC;
Hpv_诊断_Data.阴性_IC = !value;
}
#endregion
//每一个走一次判断
Hpv_诊断_检测结果赋值();
}
}
//赋值低危型/高危型
private void Hpv_诊断_检测结果赋值()
{
Hpv_诊断_Data.检测结果 = "";
#region 低危型(赋值)
string 低危型 = "低危型:";
if (Hpv_诊断_Data.低危型_6)
{
this.低危型_6.Appearance.ForeColor = System.Drawing.Color.FromArgb(1, 155, 199);
if (低危型 == "低危型:")
{
低危型 += "HPV6";
}
else
{
低危型 += "、HPV6";
}
}
else
{
this.低危型_6.Appearance.ForeColor = System.Drawing.Color.Black;
}
if (Hpv_诊断_Data.低危型_11)
{
this.低危型_11.Appearance.ForeColor = System.Drawing.Color.FromArgb(1, 155, 199);
if (低危型 == "低危型:")
{
低危型 += "HPV11";
}
else
{
低危型 += "、HPV11";
}
}
else
{
this.低危型_11.Appearance.ForeColor = System.Drawing.Color.Black;
}
#endregion
#region 高危型(赋值)
string 高危型 = "高危型:";
if (Hpv_诊断_Data.高危型_16)
{
this.高危型_16.Appearance.ForeColor = System.Drawing.Color.FromArgb(1, 155, 199);
if (高危型 == "高危型:")
{
高危型 += "HPV16";
}
else
{
高危型 += "、HPV16";
}
}
else
{
this.高危型_16.Appearance.ForeColor = System.Drawing.Color.Black;
}
if (Hpv_诊断_Data.高危型_18)
{
this.高危型_18.Appearance.ForeColor = System.Drawing.Color.FromArgb(1, 155, 199);
if (高危型 == "高危型:")
{
高危型 += "HPV18";
}
else
{
高危型 += "、HPV18";
}
}
else
{
this.高危型_18.Appearance.ForeColor = System.Drawing.Color.Black;
}
#endregion
if (低危型 == "低危型:" && 高危型 == "高危型:")
{
if (Hpv_诊断_Data.阴性_IC)
{
this.阴性_IC.Appearance.ForeColor = System.Drawing.Color.FromArgb(1, 155, 199);
低危型 = "低危型:阴性";
高危型 = "高危型:阴性";
Hpv_诊断_Data.检测结果 = 低危型 + "\r\n" + 高危型;
textBox_检测结果.Text = Hpv_诊断_Data.检测结果;
return;
}
else
{
this.阴性_IC.Appearance.ForeColor = System.Drawing.Color.Black;
Hpv_诊断_Data.检测结果 = "样本不合格,建议重新取样复检。";
textBox_检测结果.Text = Hpv_诊断_Data.检测结果;
return;
}
}
if (低危型 != "低危型:")
{
Hpv_诊断_Data.检测结果 = 低危型 + "为阳性";
}
if (高危型 != "高危型:")
{
Hpv_诊断_Data.检测结果 += "\r\n" + 高危型 + "为阳性";
}
textBox_检测结果.Text = Hpv_诊断_Data.检测结果;
}
#endregion