devexpress中基础控件教程 从Button到TabControl

devexpress中基础控件教程 从Button到TabControl

devexpressr的winform拥有180+组件和UI库,能为Winform平台创建具有影响力的业务解决方案在。它能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任。今天出一篇比较详细的教程,希望对小伙伴们有所帮助

1、ButtonEdit控件

1.1、设置文字(替换"...")

this.buttonEdit1.Properties.Buttons.Caption = "请点击"; //设计器中设置

1.2、设置不可输入,默认为 TextEditStyles.Standard(可输入)

this.buttonEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;

1.3、增加按钮,设置 this.buttonEdit1.Properties.Buttons中的Kind属性,将生成如下代码:

this.buttonEdit1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {

new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Redo)});

2、 CheckEdit控件

2.1、设置单选框

this.checkEdit1.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;

2.2、将多个单选框分为一组

this.checkEdit1.Properties.RadioGroupIndex = 1;

3、TextEdit控件

3.1、设置默认值

this.textEdit1.EditValue = "默认值";

3.2、设置为密码格式

this.textEdit1.Properties.UseSystemPasswordChar = true;

3.3、设置密码字符,系统默认使用"*"字符作为密码字符

this.textEdit1.Properties.PasswordChar = '●';

3.4、设置为只读

this.textEdit1.Properties.ReadOnly = true;

3.5、设置只能输入小数

this.textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;

3.6、设置正则表达式验证

3.6.1、设置只能输入0~9的整型数字

this.textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx;

this.textEdit1.Properties.Mask.EditMask = "\\d+"; //设置正则表达式

3.6.2、设置只能输入日期格式

this.textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx;

this.textEdit1.Properties.Mask.EditMask = @"([1-2]\d{3}|[1-2]\d)-(0?[1-9]|1[0-2])-(3[0-1]|[1-2]\d|0?[1-9])";

this.textEdit1.Properties.Mask.ShowPlaceHolders = false; //是否显示占位符

this.textEdit1.Properties.Mask.AutoComplete = DevExpress.XtraEditors.Mask.AutoCompleteType.None; //自动完成模式

3.6.3、正则表达式编写规范

a不允许:this.textEdit1.Properties.Mask.EditMask = @"\d{1, 5}"; //可改为:@"\d{1,5}";

b不允许:this.textEdit1.Properties.Mask.EditMask = @"[\w]{1,5}"; //可改为:@"[0-9a-zA-Z]{1,5}";

c注意点:如果在某一控件中出现正则表达式语法错误,程序中会出现 syntax error 的错误。例如:

this.textEdit1.Properties.Mask.EditMask = "(0?\\d{1})(";

3.6.7、设置最大字符长度

this.textEdit1.Properties.MaxLength = 18;

3.6.8、设置输入字符转大小写,默认为 CharacterCasing.Normal(大小写保持不变)

this.textEdit1.Properties.CharacterCasing = CharacterCasing.Upper;

3.6.9、设置不显示正则表达式的提示字符

this.textEdit1.Properties.Mask.AutoComplete = DevExpress.XtraEditors.Mask.AutoCompleteType.None;

this.textEdit1.Properties.Mask.ShowPlaceHolders = false;

3.6.10、设置显示与编辑都以金额显示

this.txtRtnCash.Properties.DisplayFormat.FormatString = "{0:c}";

this.txtRtnCash.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;

this.txtRtnCash.Properties.EditFormat.FormatString = "{0:c}";

this.txtRtnCash.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;

3.6.11、设置显示/编辑格式化为日期

this.textEdit1.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;

this.textEdit1.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss:fff";

this.textEdit1.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;

this.textEdit1.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss:fff";

this.textEdit1.EditValue = DateTime.Now;

4、SpinEdit控件

4.1、设置不显示小数点

this.spinEdit1.Properties.IsFloatValue = false;

PS:GridView中Column设置:devExpress.XtraEditors.Repository.RepositoryItemSpinEdit.IsFloatValue = false;

4.2、格式化以金额显示(如:¥12.00)

this.spinEdit1.Properties.DisplayFormat.FormatString = "{0:c}";

this.spinEdit1.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;

5、DateEdit控件

5.1、设置 DateEdit 不可编辑(如果不让用户输入,可以在 OnKeypress 事件里写代码控制)

this.dateEdit1.Enabled = false;

5.2、设置日期值

this.dateEdit1.EditValue = DateTime.Now.ToShortDateString();

5.3、设置显示日期格式

this.dateEdit1.Properties.DisplayFormat.FormatString = "yyyy-MM-dd";

5.4、设置编辑日期格式,默认值:"d",日期格式:2014-4-8 (GridView 中的 RepositoryItemDateEdit 也相同)

this.dateEdit1.Properties.Mask.EditMask = "yyyy-MM-dd"; //MM:表示月份

this.dateEdit1.Properties.Mask.UseMaskAsDisplayFormat = true; //默认值:false

5.5、是否显示清除按钮,默认为 true,如果设置为 false,则始终不能清除控件中的值

this.dateEdit1.Properties.ShowClear = false;

5.6、获取值时注意

this.dateEdit1.Text 获取的始终是界面上的值,而 this.dateEdit1.EditValue获取的值类似 2015/1/18 00:00:00。

6、TimeEdit控件

6.1、设置 TimeEdit 不可编辑(如果不让用户输入,可以在 OnKeypress 事件里写代码控制)

this.timeEdit1.Enabled = false;

6.2、设置时间值

this.timeEdit1.EditValue = DateTime.Now.ToShortTimeString();

6.3、设置显示时间格式,注意:"hh:mm:ss"为12小时制,"HH:mm:ss"为24小时制。

this.timeEdit1.Properties.DisplayFormat.FormatString = "hh:mm:ss";

6.4、设置编辑时间格式,默认值:"T"(24H),时间格式:20:21:36

this.timeEdit1.Properties.Mask.EditMask = "hh:mm:ss"; //mm:表示分钟

this.timeEdit1.Properties.Mask.UseMaskAsDisplayFormat = true; //默认值:false

PS:GridView 中的RepositoryItemTimeEdit 也相同

7、ComboBoxEdit控件

7.1、下拉框添加项

this.comboBoxEdit1.Properties.Items.Add("item1");

7.2、设置下拉框不可编辑,默认为 TextEditStyles.Standard(可以编辑)

this.comboBoxEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;

7.3、获取下拉框选择的值

string value1 = this.comboBoxEdit1.EditValue.ToString();

string value2 = this.comboBoxEdit1.SelectedItem.ToString(); //或者

string value3 = this.comboBoxEdit1.Text; //或者

8、LookUpEdit控件

8.1、绑定 LookUpEdit 数据源,与 ComboBoxEdit 的区别是,ComboBoxEdit 没有ValueMember 和 DisplayMember 属性,绑定代码如下:

DataTable dataTable = ComPersonService.QueryDataAll();

DataRow dataRow = dataTable.NewRow();

dataRow["PersonID"] = "selection";

dataRow["PersonName"] = "请选择";

dataTable.Rows.InsertAt(dataRow, 0);

this.lookUpEdit1.Properties.DataSource = dataTable;

this.lookUpEdit1.Properties.ValueMember = "PersonID";

this.lookUpEdit1.Properties.DisplayMember = "PersonName";

this.lookUpEdit1.EditValue = "selection"; //设定显示默认项

8.2、实现 LookUpEdit 控件绑定 DataTable 中指定的列,注意:必须先数据源后。

this.lookUpEdit1.Properties.PopulateColumns(); //填充列

foreach (DevExpress.XtraEditors.Controls.LookUpColumnInfo lookUpColumnInfo in this.lookUpEdit1.Properties.Columns)

{

if (lookUpColumnInfo.FieldName == "DepartID")

lookUpColumnInfo.Caption = "部门编号";

else if (lookUpColumnInfo.FieldName == "DepartName")

lookUpColumnInfo.Caption = "部门名称";

else

lookUpColumnInfo.Visible = false; //将此列设置不显示

}

8.3、设置 LookUpEdit 控件无数据源或者数据源无数据时,显示的文本,默认为[EditValue is null]

this.lookUpEdit1.Properties.NullText = "==无数据==";

8.4、设置显示默认项(根据索引或者 ValueMember 的值)

this.lookUpEdit1.ItemIndex = 0;

this.lookUpEdit1.EditValue = "selection"; //或者

8.5、获取选择的键值(ValueMember 的值)

object editValue = this.lookUpEdit1.EditValue;

8.6、获取选择的显示值(DisplayMember 的值)

string textValue = this.lookUpEdit1.Text;

8.7、设置列自适应宽度

this.lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;

8.8、设置列的显示名称

this.lookUpEdit1.Properties.Columns["Name"].Caption = "列名";

8.9、设置某列是否显示,默认为 true

this.lookUpEdit1.Properties.Columns["Group"].Visible = false;

8.10、设置下拉显示行数,默认为 7

this.lookUpEdit1.Properties.DropDownRows = list.Count;

8.11、设置下拉列表大小

this.lookUpEdit1.Properties.PopupFormMinSize = new Size(100, 286);

8.12、说明:

a、this.lookUpEdit1.ItemIndex 等于 -1 时,表示不存在数据源。

b、如果 this.lookUpEdit1.Properties.ReadOnly 等于 true 时, 此时 this.lookUpEdit1.ItemIndex 值是不可改的。

9、BarManager控件

9.1、设置 BarManager 控件需要的图片控件集合

this.barManager1.Images = this.imageCollection1;

9.2、设置菜单项的需要使用到图片控件集合的索引

this.barButtonItem1.ImageIndex = 3;

9.3、设置菜单显示文字和图标

this.barButtonItem1.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph;

9.4、设置是否允许自定义菜单,默认为 true

this.barManager1.AllowCustomization = false;

9.5、设置是否显示勾选菜单的选择框,默认为 true

this.barManager1.AllowShowToolbarsPopup = false;

9.6、设置是否可以添加删除菜单按钮,默认为 true

this.bar1.OptionsBar.AllowQuickCustomization = false;

9.7、设置菜单的停靠点(可控制是否允许拖动菜单栏),默认为 All

this.bar1.CanDockStyle = DevExpress.XtraBars.BarCanDockStyle.Top;

9.8、设置菜单项是否显示(Always 始终显示 ,Never 永不显示)

this.barButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;

10、TreeList控件

10.1、绑定数据源

this.treeList1.KeyFieldName = "Id";

this.treeList1.ParentFieldName = "ParentId";

this.treeList1.DataSource = (List || dataTable);

10.2、获取或设置是否显示列标题

this.treeList1.OptionsView.ShowColumns = false;

10.3、获取或设置节点是否指示面板显示(是否显示指示列(第一列))

this.treeList1.OptionsView.ShowIndicator = false;

10.4、获取或设置是否显示单个节点(选择后节点背景色改变)

this.treeList1.OptionsSelection.InvertSelection = true;

10.5、获取或设置选中节点后的背景颜色

this.treeList1.Appearance.FocusedRow.BackColor = Color.Red;

10.6、获取或设置是否显示垂直线

this.treeList1.OptionsView.ShowVertLines = false;

10.7、获取或设置是否显示水平线

this.treeList1.OptionsView.ShowHorzLines = false;

11、TreeListColumn

11.1、获取或设置显示列的标题

this.treeListColumn1.Caption = "treeListColumn1";

11.2、获取或设置指定从数据源列的当前字段名称(设置所绑定数据源的字段名称)

this.treeListColumn1.FieldName = "Name";

11.3、获取或设置用户是否防止编辑列的单元格的值(列文本是否只读)

this.treeListColumn1.OptionsColumn.ReadOnly = true;

11.4、获取或设置用户是否可以编辑列(不可编辑就不会存在选择)

this.treeListColumn1.OptionsColumn.AllowEdit = false;

11.5、获取或设置用户是否可以移动焦点到柱使用鼠标或键盘

this.treeListColumn1.OptionsColumn.AllowFocus = false;

12、XtraTabControl控件

12.1、设置关闭按钮显示在右上角

this.xtraTabControl1.HeaderButtons = ((DevExpress.XtraTab.TabButtons)((((DevExpress.XtraTab.TabButtons.Prev | DevExpress.XtraTab.TabButtons.Next) | DevExpress.XtraTab.TabButtons.Close) | DevExpress.XtraTab.TabButtons.Default)));

12.2、设置不显示关闭按钮

this.xtraTabControl1.ClosePageButtonShowMode = DevExpress.XtraTab.ClosePageButtonShowMode.Default;

13、MarqueeProgressBarControl进度条控件

MarqueeProgressBarControl 是 DevExpress 的一个进度条控件,该控件和 ProgressBarControl 控件有不少相似之处,不过也是有区别的,MarqueeProgressBarControl只是现实进度的一小部分。

13.1、设置进度条是否显示内容

this.marqueeProgressBarControl1.Properties.ShowTitle = true;

13.2、设置进度条显示内容(该属性需要同时设置 ShowTitle 为 true)

this.marqueeProgressBarControl1.Text = "正在加载中...";

13.3、获取或者设置进度条的进度方向

this.marqueeProgressBarControl1.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Horizontal;

13.4、获取或者设置进度条是否停止,true 表示停止,false 表示运行

this.marqueeProgressBarControl1.Properties.Stopped = false;

13.5、设置进度条的速度(值越小速度越快;值越大速度越慢),默认为 100

this.marqueeProgressBarControl1.Properties.MarqueeAnimationSpeed = 50;

相关阅读

devexpress控件教程 能加载任何控件的下拉菜单

devexpress中grid控件教程 多线程异步加载数据,进度条展示

相关文章

手机如何查序列码数据库
365bet亚洲体育

手机如何查序列码数据库

📅 06-27 👁️ 5188
最新保险公司十大排名,靠谱的保险公司有哪些?
365bet亚洲体育

最新保险公司十大排名,靠谱的保险公司有哪些?

📅 06-28 👁️ 2642