3.1 TextEdit控件
以文本框的形式绑定各种形式的选择框;
文本框设置 输入 密码 字符 时, 要有 * 号掩盖输入的字符,
代码如下:
textEdit1.Properties.PasswordChar = ’ * ’;
3.2 ButtonEdit 控件
以 button按钮的形式 绑定各种形式的选择框;
控件样式截图
两种方式, 进入EditorButton集合编辑器:设置文本框右侧的按钮
1. 在属性中Properties下的Buttons项
2. 窗体上点击ButtonEdit右上方的小箭头,弹出菜单中选择Buttons,也是一样的
ButtonEdit的文本框右侧的按钮可以有多个,在EditorButton集合编辑器中都可以进行设置。
在文本框右侧的按钮,全是DevExpress.XtraEditors.Controls.EditorButton类型的。
注意: Caption和Kind选项
在每个按钮的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属性指定
Ellipsis,省略号,三个点,默认图案
OK,一个√型图案
Plus,一个+型图案
Minus,一个-型图案
Redo,撤销图案,一个顺时针转动最后指向右侧的箭头
Undo,重做图案,一个逆时针转动最后指向右侧的箭头
其中,当Kind被设置为Glyph时,可以通过设置Image属性来指定图案
点击按钮的事件,
可以在属性管理器中事件里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、Kind等属性判断当前鼠标点击的是哪个Button,再执行相应的逻辑。
如下所示:
包括两个按钮(类型分别是Ellipsis和Delete),
其中Ellipsis类型的按钮用于浏览文件,
Delete类型的按钮用于清空选中数据。
效果如下:
判断按钮类型并执行相应逻辑的代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; namespace DXApplication_1 { public partial class CommonControlsForm : DevExpress.XtraEditors.XtraForm { public CommonControlsForm() { InitializeComponent(); } private void buttonEdit1_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 = true; openFileDialog.FileName = ""; openFileDialog.Filter = "All Files | *.*"; openFileDialog.Title = "Browser"; if (openFileDialog.ShowDialog() == DialogResult.OK) { buttonEdit1.Text = openFileDialog.SafeFileName; } } else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Clear) { buttonEdit1.Text = ""; } } } }