DevExpress winform XtraEditor常用控件


最近在公司里面開始使用DevExpress winform的第三方控件進行開發和維護,這里整理一些常用控件的資料以便於后續查看

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屬性即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM