一、TextEdit控件
以文本框的形式綁定各種形式的選擇框;
文本框設置 輸入 密碼 字符 時, 要有 * 號掩蓋輸入的字符,
代碼如下:
textEdit1.Properties.PasswordChar = ’ * ’;
二、ButtonEdit 控件
以 button按鈕的形式 綁定各種形式的選擇框;
1、控件樣式
截圖

2、設置文本框右側的按鈕
在屬性中Properties下的Buttons項,進入EditorButton集合編輯器,
ButtonEdit的文本框右側的按鈕可以有多個,在EditorButton集合編輯器中都可以進行設置。
在文本框右側的按鈕,全是DevExpress.XtraEditors.Controls.EditorButton類型的。
注意: Caption和Kind選項

3、按鈕類型
在每個按鈕的Kind屬性中,可以設置按鈕的類型。
按鈕類型保存在枚舉DevExpress.XtraEditors.Controls.ButtonPredefines中,該枚舉包括如下枚舉值(共計19個):
-
Close,一個x型圖案
-
Delete,一個x型圖案,線條比Close要細一些
-
SpinRight,右三角形箭頭
-
SpinLeft,左三角形箭頭
-
SpinDown,下三角形箭頭
-
SpinUp,上三角形箭頭
-
Combo,同SpinDown
-
Right,同SpinRight
-
Left,同SpinLeft
-
Up,同SpinUp
-
Down,同SpinDown
-
DropDown,同SpinDown
-
Glyph,圖案可由Image屬性指定(當Kind被設置為Glyph時,可以通過設置Image屬性來指定圖案)
-
Ellipsis,省略號,三個點,(默認圖案)
-
OK,一個√型圖案
-
Plus,一個+型圖案
-
Minus,一個-型圖案
-
Redo,撤銷圖案,一個順時針轉動最后指向右側的箭頭
-
Undo,重做圖案,一個逆時針轉動最后指向右側的箭頭
4、按鈕的點擊事件
可以在屬性管理器中事件里Properties下的ButtonClick事件中指定

這里面就存在一個問題,如果文本框中放置了多個按鈕,該如何分辨出我點的是哪個按鈕呢?
可以在事件中根據Caption、Kind等屬性判斷當前鼠標點擊的是哪個Button,再執行相應的邏輯。
如下所示:
包括兩個按鈕(類型分別是Ellipsis和Delete),其中Ellipsis類型的按鈕用於瀏覽文件,Delete類型的按鈕用於清空選中數據。

判斷按鈕類型(Kind)執行相應邏輯的代碼如下:
private void buttonEdit1_Properties_ButtonClick( object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.AutoUpgradeEnabled = true; openFileDialog.CheckFileExists = true; openFileDialog.CheckPathExists = true; openFileDialog.ReadOnlyChecked = false; openFileDialog.Multiselect = false; openFileDialog.FileName = ""; openFileDialog.Filter = "所有文件|*.*"; openFileDialog.Title = "瀏覽"; if (openFileDialog.ShowDialog() == DialogResult.OK) { this.buttonEdit1.Text = openFileDialog.FileName; } } else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Delete) { this.buttonEdit1.Text = ""; } }
三、PictureEdit控件
可在控件里添加圖片
PictureEdit 可以直接綁定Image 或者 Byte Array
當我們在PictureEdit中放置一個較大圖片的時候,SizeMode屬性可以設置為Zoom等

四、RadioGroup控件

其Columns屬性決定顯示的列數, 默認值為: 0時,效果如下:

示例代碼:
private void CommonControlsForm_Load(object sender, EventArgs e)
{
object[] ageArr = new object[] { 8, 12, 16 }; string[] descriptionArr = new string[] { "baby", "loli", "teenage" }; for(int i = 0; i < ageArr.Length; i++) { RadioGroupItem item = new RadioGroupItem(ageArr[i], descriptionArr[i]); radioGroup1.Properties.Items.Add(item); } // radioGroup1.EditValue = 12; }
當Columns屬性值為2時,效果如下:

相關代碼
void Main() { //生成一個radioGroup,動態生成選項 RadioGroup radioGroupY = new RadioGroup(); foreach (TitleModel s in nodeYList) { //每一個單元按鈕對應的選項item RadioGroupItem item = new RadioGroupItem(); //設置選項的value值 item.Value = s.TitleKey; //設置選項的描述值 即 要顯示的值 item.Description = s.Title; //使選項啟用 item.Enabled = true; //將新增的選項添加到radiogroup的Items中 radioGroupY.Properties.Items.Add(item); } //設置默認選中值 radioGroupY.EditValue = yList[i].TitleKey;//設置value //獲取選中項的值:RadioGroup.Properties.Items[RadioGroup.SelectIndex].Value //獲取選中項的顯示值: this.radioGroup1.Properties.Items[RadioGroup.SelectIndex].Description this.radioGroup1.Properties.Items.GetItemByValue(Convert.ToInt32(radioGroup1.EditValue)).Description; } //時間 private void chkReviewResultTotal_SelectedIndexChanged(object sender, EventArgs e) { if (chkReviewResultTotal.SelectedIndex == 1) { //---- } }
五、PopupControlContainer控件
1、 概述
PopupControlContainer控件能夠以面板的形式包含其他控件,或者以DropDownButton控件的下拉框的形式出現。
PopupControlContainer控件通過DropDownButton控件的DropDownControl屬性進行綁定,在綁定后, PopupControlContainer控件的AllowDrop屬性要設成True;
2、 用法
- 與 DropDownButton組合使用 ,指派container 到DropDownButton.DropDownControl 屬性。
- 與 bar button組合使用 , 指派container 到 BarButtonItem.DropDownControl 屬性。
- 與 Ribbon Form中的Application Button 組合使用 , 指派container 到 RibbonControl.ApplicationButtonDropDownControl屬性。
下拉彈出控件PopupContainerEdit 經常與 PopupContainerControl 組合使用
效果如下:

主要功能是在界面中點擊PopupContainerEdit右側的下拉箭頭,然后,會彈出下拉彈窗控件PopupContainerControl,
最后選擇完數據后關閉彈窗。
popupContainerControl1.OwnerEdit.ClosePopup();
主要用到的控件有 PopupContainerEdit 和 PopupContainerControl
PopupContainerControl主要負責顯示下拉彈窗中的內容
PopupContainerEdit類似一個文本框,右邊有一個下拉箭頭。
PopupContainerEdit和PopupContainerControl產生關聯,主要通過以下代碼實現
this.popupContainerEdit1.Properties.PopupControl = this.popupContainerControl1;
相關代碼:
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form4 : Form { public Form4() { InitializeComponent(); } private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { var name = e.Node["Name"].ToString(); if (popupContainerEdit1.IsPopupOpen) { // 設置名稱 popupContainerEdit1.Text = name; // 關閉彈窗 popupContainerEdit1.ClosePopup(); } } private void Form4_Load(object sender, EventArgs e) { treeList1.ExpandAll(); popupContainerEdit1.Text = "全部"; } } }


