最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看
ComboBoxEdit
这个控件和winform自带的控件差不多,使用起来也方便,在designer页面拖拽控件之后可以直接在页面添加要显示的项目:
后台的代码控制也方便
cbBoxSex.Properties.Items.Add("全部");
cbBoxSex.Properties.Items.Add("男");
cbBoxSex.Properties.Items.Add("女");
cbBoxSex.Properties.Items.Add("未知");
CheckedComboBoxEdit
此控件在combobox的下拉框的文本前面新加了checkbox,方便用户选择多个,添加内容的代码和comboboxEdit类似:
List<string> weeks = new List<string>();
for (int i = ; i <= ; i++)
{
weeks.Add(string.Format("{0}{1}", " 周", i));
} foreach (string item in weeks)
{
checkedComboBoxEdit.Properties.Items.Add(item, CheckState.Unchecked, true);
}
checkedComboBoxEdit.Properties.SeparatorChar = ',';
新增item的类型是 CheckedListBoxItem 。
这个控件和后面的LookupEdit一样也支持数据源的绑定,只要设置DisplayMember和ValueMember属性即可。
checkedComboBoxEdit.Properties.DataSource = advItems;
checkedComboBoxEdit.Properties.DisplayMember = "Name";
checkedComboBoxEdit.Properties.ValueMember = "ID";
ListBoxControl
此控件和ComboboxEdit使用类似,但呈现的不是下拉框,代码使用也类似:
listBoxControl.Items.Add("全部");
listBoxControl.Items.Add("男");
listBoxControl.Items.Add("女");
listBoxControl.Items.Add("未知");
CheckedListBoxControl
此控件也是在listboxcontrol的内容中加上checkbox以便于用户选择,其也支持数据源:
checkedListBoxControl.DataSource = advItems;
checkedListBoxControl.DisplayMember = "Name";
checkedListBoxControl.ValueMember = "ID";
SpinEdit
这个控件适合控制一些数字的显示,比如年龄,使用起来也方便,后台的控制代码如下:
spinEdit.Properties.Increment = ;
spinEdit.Properties.MinValue = ;
spinEdit.Properties.MaxValue = ;
LookUpEdit
这个控件和comboboxEdit差不多,点击按钮是会有下拉的内容出来,但显示的内容可以以多列的形式呈现。
后台控制代码也好理解:
1. 在文本框中显示的内容由DisplayMember属性控制
2. 在文本框中绑定的字段由ValueMember熟悉控制
3. 下拉的多列行由LookUpColumnInfo控制
lookupEdit.Properties.DataSource = advItems;
lookupEdit.Properties.DisplayMember = "Name";
lookupEdit.Properties.ValueMember = "ID";
lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Name", "姓名"));
lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Card", "证件"));
lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Remark", "备注"));
lookupEdit.Properties.BestFitMode = BestFitMode.BestFitResizePopup;
数据源就是我们的实体list:
public class CbBoxItem
{
public Int32 ID { get; set; }
public string Name { get; set; }
public string Card { get; set; }
public string Remark { get; set; }
}
最后结果如下图所示:
此控件还提供了自动提示功能,在文本框中输入要查询的内容可以方便快速的定位,而且可以在下拉框的按钮后面新增删除按钮,这些的代码如下:
lookupEdit.Properties.SearchMode = SearchMode.AutoComplete;
lookupEdit.Properties.TextEditStyle = TextEditStyles.Standard;
lookupEdit.Properties.Buttons.Add(new EditorButton(ButtonPredefines.Delete));
lookupEdit.ButtonClick += LookupEdit_ButtonClick; private void LookupEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
{
if (e.Button.Kind == ButtonPredefines.Delete)
{
(sender as LookUpEdit).EditValue = null;
}
}
总结
以上是常用控件的总结,一般我们使用comboboxedit和lookupedit比较多,而且用数据源绑定也方便开发,绑定数据源时一般要设置DisplayMember和ValueMember,而在后去value时只要获取EditValue属性即可。