DevExpress winform XtraEditor常用控件

ComboBoxEdit

这个控件和winform自带的控件差不多,使用起来也方便,在designer页面拖拽控件之后可以直接在页面添加要显示的项目:

后台的代码控制也方便

1 cbBoxSex.Properties.Items.Add("全部");
2 cbBoxSex.Properties.Items.Add("");
3 cbBoxSex.Properties.Items.Add("");
4 cbBoxSex.Properties.Items.Add("未知");

CheckedComboBoxEdit

此控件在combobox的下拉框的文本前面新加了checkbox,方便用户选择多个,添加内容的代码和comboboxEdit类似:

 1 List<string> weeks = new List<string>();
 2 for (int i = 1; i <= 7; i++)
 3 {
 4     weeks.Add(string.Format("{0}{1}", "", i));
 5 }
 6 
 7 foreach (string item in weeks)
 8 {
 9     checkedComboBoxEdit.Properties.Items.Add(item, CheckState.Unchecked, true);
10 }
11 checkedComboBoxEdit.Properties.SeparatorChar = ',';

新增item的类型是 CheckedListBoxItem 。

这个控件和后面的LookupEdit一样也支持数据源的绑定,只要设置DisplayMember和ValueMember属性即可。

1 checkedComboBoxEdit.Properties.DataSource = advItems;
2 checkedComboBoxEdit.Properties.DisplayMember = "Name";
3 checkedComboBoxEdit.Properties.ValueMember = "ID";

 

ListBoxControl

此控件和ComboboxEdit使用类似,但呈现的不是下拉框,代码使用也类似:

1 listBoxControl.Items.Add("全部");
2 listBoxControl.Items.Add("");
3 listBoxControl.Items.Add("");
4 listBoxControl.Items.Add("未知");

CheckedListBoxControl

此控件也是在listboxcontrol的内容中加上checkbox以便于用户选择,其也支持数据源:

1 checkedListBoxControl.DataSource = advItems;
2 checkedListBoxControl.DisplayMember = "Name";
3 checkedListBoxControl.ValueMember = "ID";

 

SpinEdit

这个控件适合控制一些数字的显示,比如年龄,使用起来也方便,后台的控制代码如下:

spinEdit.Properties.Increment = 5;
spinEdit.Properties.MinValue = 0;
spinEdit.Properties.MaxValue = 200;

 LookUpEdit

这个控件和comboboxEdit差不多,点击按钮是会有下拉的内容出来,但显示的内容可以以多列的形式呈现。

后台控制代码也好理解: 

1. 在文本框中显示的内容由DisplayMember属性控制

2. 在文本框中绑定的字段由ValueMember熟悉控制

3. 下拉的多列行由LookUpColumnInfo控制

1 lookupEdit.Properties.DataSource = advItems;
2 lookupEdit.Properties.DisplayMember = "Name";
3 lookupEdit.Properties.ValueMember = "ID";
4 lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Name", "姓名"));
5 lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Card", "证件"));
6 lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Remark", "备注"));
7 lookupEdit.Properties.BestFitMode = BestFitMode.BestFitResizePopup;

数据源就是我们的实体list:

1 public class CbBoxItem
2 {
3     public Int32 ID { get; set; }
4     public string Name { get; set; }
5     public string Card { get; set; }
6     public string Remark { get; set; }
7 }

最后结果如下图所示:

此控件还提供了自动提示功能,在文本框中输入要查询的内容可以方便快速的定位,而且可以在下拉框的按钮后面新增删除按钮,这些的代码如下:

 1 lookupEdit.Properties.SearchMode = SearchMode.AutoComplete;
 2 lookupEdit.Properties.TextEditStyle = TextEditStyles.Standard;
 3 lookupEdit.Properties.Buttons.Add(new EditorButton(ButtonPredefines.Delete));
 4 lookupEdit.ButtonClick += LookupEdit_ButtonClick;
 5 
 6 private void LookupEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
 7 {
 8     if (e.Button.Kind == ButtonPredefines.Delete)
 9     {
10         (sender as LookUpEdit).EditValue = null;
11     }
12 }

 总结

以上是常用控件的总结,一般我们使用comboboxedit和lookupedit比较多,而且用数据源绑定也方便开发,绑定数据源时一般要设置DisplayMember和ValueMember,而在后去value时只要获取EditValue属性即可。

 

posted @ 2022-11-09 17:09  mkmkbj  阅读(301)  评论(0编辑  收藏  举报