文章目录
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