Dev组合框控件ComboBoxEdit显示风格动态切换
使用场景:
界面中的ComboBoxEdit对应的数据来源可配置,可能是字符串类型,如城市名,也可能是数值类型,如手机号码。对于城市名时,通常会内置常用城市名,通过下拉框的形式,进行快速选择,而对于手机号码,则通常需要手动输入,使用下拉框的操作方式,体验并不好,需要根据数据来源,动态的切换效果。
处理方式:
定义按钮:
private DevExpress.XtraEditors.Controls.EditorButton dropdownButtonProperty;
private DevExpress.XtraEditors.Controls.EditorButton editButtonProperty;
private DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1;
创建:
this.serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
this.editButtonProperty = new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, false, true, false, DevExpress.XtraEditors.ImageLocation.MiddleCenter, null, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), this.serializableAppearanceObject1, "", null, null, true);
this.dropdownButtonProperty = new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo);
使用:
if (a) {
this.comboBoxEdit1.Properties.Buttons.Clear();
this.comboBoxEdit1.Properties.Buttons.Add(this.dropdownButtonProperty);
}
else if (b)
{ this.comboBoxEdit1.Properties.Buttons.Clear();
this.comboBoxEdit1.Properties.Buttons.Add(this.editButtonProperty);
}