DevExpress控件-ButtonEdit控件的使用(圖文)

本文爲我的.NET控件庫DevExpress使用筆記,我的DevExpress版本爲15.1.7

1、控件類型全稱:DevExpress.XtraEditors.ButtonEdit

2、控件所在程序集:DevExpress.XtraEditors.v15.1.7.dll

3、工具箱內分類:DX.15.1.7: Common Controls

4、控件樣式截圖


5、在屬性管理器中Properties下的Buttons裏,可以進入EditorButton集合編輯器設置文本框右側的按鈕。文本框右側的按鈕可以有不止一個,在EditorButton集合編輯器中都可以進行設置。在文本框右側的按鈕,都是DevExpress.XtraEditors.Controls.EditorButton類型的。

6、在每個按鈕的Kind屬性中,可以設置按鈕的類型。按鈕類型保存在枚舉DevExpress.XtraEditors.Controls.ButtonPredefines中,該枚舉包括如下枚舉值(共計19個):

Close,一個x型圖案

SpinRight,方向指向右側的三角形箭頭

SpinLeft,方向指向左側的三角形箭頭

SpinDown,方向指向下側的三角形箭頭

SpinUp,方向指向上側的三角形箭頭

Combo,同SpinDown

Right,同SpinRight

Left,同SpinLeft

Up,同SpinUp

Down,同SpinDown

Glyph,圖案可由Image屬性指定

Ellipsis,省略號,三個點,默認圖案

Delete,一個x型圖案,線條比Close要細一些

OK,一個√型圖案

Plus,一個+型圖案

Minus,一個-型圖案

Redo,撤銷圖案,一個順時針轉動最後指向右側的箭頭

Undo,重做圖案,一個逆時針轉動最後指向右側的箭頭

DropDown,同SpinDown

其中,當Kind被設置爲Glyph時,可以通過設置Image屬性來指定圖案

7、點擊按鈕的事件,可以在屬性管理器中事件裏Properties下的ButtonClick事件中指定

這裏面就存在一個問題,如果文本框中放置了多個按鈕,該如何分辨出我點的是哪個按鈕呢?

後來我發現,ButtonClick函數的傳入參數如下:

 private void Btn_music_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

這裏的參數e爲DevExpress.XtraEditors.Controls.ButtonPressedEventArgs類型,該類型中有個字段是Button。
 public EditorButton Button { get; }

可以在事件中根據Caption、Kinder等屬性判斷當前鼠標點擊的是哪個Button,再執行相應的邏輯。

如在一個包括兩個按鈕(類型分別是Ellipse和Delete),其中Ellipse類型的按鈕用於瀏覽文件,Delete類型的按鈕用於清空選中數據。

一段判斷按鈕類型並執行相應邏輯的代碼如下:

 private void Btn_music_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.btn_music.Text = openFileDialog.SafeFileName;
                }
            }
            else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Delete)
            {
                this.btn_music.Text = "";
            }
        }
結束
--------------------- 
作者:邵_金波 
來源:CSDN 
原文:https://blog.csdn.net/qq395537505/article/details/50735493 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章