1、DevExpress 控件学习1. MDI 窗体 首先需要把父窗体设置为 MDI 容器: 在主窗体放一个 xtraTabbedMdiManager,如: 设置 MDI 窗体样式; 新建一子窗体,可以是 DevExpress 的也可以是 VS 自带的(VS 自带的最好改下背景色为如下配置,否则会主子窗体颜色不搭配。) 调用子窗体的代码如下:/打开子窗体/privatevoidOpenChildForm(Formfrm)intiCount = 0;foreach (varmdiChildinthis.MdiChildren)子窗体关闭按钮的样式多个标签的时候,如何显示标签导航栏MDI 子窗体标签栏
2、的位置if (mdiChild.Text = frm.Text)mdiChild.Activate();iCount+;if (iCount 0)return;frm.MdiParent = this;frm.Show();privatevoidbtnMqClient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)Text = e.Link.Item.Caption;if (e.Link.Item.Tag != null)objectooo = e.Link.Item.Tag;FrmOutLookfrm =
3、newFrmOutLook();OpenChildForm(frm); 如果不想关闭子画面,则在子画面窗体上选择属性 ControlBox 关闭:2. OutLook 导航条用法: 选中 navBarGroup1,在属性栏中选择 GroupStyle,可以调整图标显示样式。3. Ribbon 编辑器 去掉 Win7 透明窗体,保持所有情况下显示风格都一致。在 Ribbon 主窗体中选择属性 AllowFormGlass,会在 Win7 风格时增加一个透明框框,很丑,所以我选择了 False关联 Ribbon 后,可以使用 Designer 进行编辑Group 文字过长时,不会自动省略也可以用代
4、码来改变图标TabPage 使用 首先拖动 XtraTabControl 到界面中: 关闭 TabPage 的方法,我试验了很久的:privatevoid xtraTabControl1_CloseButtonClick(object sender, EventArgs e)DevExpress.XtraTab.XtraTabPage page = (DevExpress.XtraTab.XtraTabPage)(DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)(e).Page;xtraTabControl1.TabPages.Remo
5、ve(page); 窗体标题文字被省略:解决方案:在属性框中的 Text 中填写英文,空格,横线等信息如:客户端程序框架DEMO - Adaapter 适配器效果:4. Ribbon 工具条上的 Button 控件,如果想使用开关效果,可以选择属性中用5. Ribbon 工具条上的各控件(BarEditItem) ,与其子控件()之间的关系,及使用方式 CheckEdit:如果要设置其默认值,应该用其外部容器来设置,如:chkModeSwitchContainer.EditValue = false;/不是设置这个 chkModeSwitch,如图: TextEdit:如果要设置其默认值,应该
6、用其外部容器来设置,如:txtSendMockNumContainer.EditValue = 2; 但是用外部容器来的事件(EditValueChanged )来处理内部控件值事件时,会有延迟出现,比如,想检测 CheckEdit 的 CheckedChange 事件,这时候,应该用内部控件的事件实现才能及时响应,如:chkModeSwitch.CheckStateChanged += ChkModeSwitchCheckStateChanged;/调试模式开关/voidChkModeSwitchCheckStateChanged(object sender, EventArgs e)if
7、(DevExpress.XtraEditors.CheckEdit)(sender).Checked)_debugMode = true;else_debugMode = false; 其他6. Ribbon 窗体,可以隐藏 Windows 自己的标题栏,如图效果:需要让窗体继承自 RibbonForm 基类子窗体继承自 XtraForm,这样可以统一界面样式、颜色等7. Ribbon 窗体去掉快速工具栏按钮:8. NavBarControl 的一些操作关闭折叠按钮隐藏组标签关闭 UI 元素允许选中9. 表格控件设置只读:publicvoidSetGridEditEnable(boolopti
8、onSet)string option = “Editable“;DevExpress.Utils.SetOptions.SetOptionValueByString(option, gridView2.OptionsBehavior, optionSet);设置表头:privatevoidSetData()DataTabledt = newDataTable(“data“);dt.Columns.Add(“ID“);dt.Columns.Add(“Type“);dt.Columns.Add(“Content“);dt.Columns.Add(“Comment“);dt.Rows.Add(ne
9、wobject “001“, “错误“, “数据库连接已断开!“, “建议尽快解决.“ );dt.Rows.Add(newobject “002“, “警告“, “SQL 语句错误!“, “检查拼写.“ );dt.Rows.Add(newobject “003“, “警告“, “登陆失败!“, “重新输入用户名密码.“ );dt.AcceptChanges();BindingSourcebs = newBindingSource();bs.DataSource = dt;gridControl2.DataSource = bs;/gridControl1gridView2.Columns0.C
10、aption = “编号“;gridView2.Columns1.Caption = “类型“;gridView2.Columns2.Caption = “错误信息“;gridView2.Columns3.Caption = “备注“;/若有一列不设置值,且其他列宽度不超出容器总宽度时,设置了列宽的列按照列宽展示,未设置列宽的列填充剩余宽度;/若所有列均设置了列宽,在列宽总和与容器长度不匹配时,列宽按照设置的列宽数值的比例进行显示gridView2.Columns0.Width = 25;gridView2.Columns1.Width = 25;/gridView2.Columns2.Wid
11、th = 50;gridView2.Columns3.Width = 50;SetGridEditEnable(false);10. 设置皮肤首先,要获取多种皮肤的话,必须在 Program.cs 中的 Main 函数中注册/应用程序的主入口点。/STAThreadstaticvoid Main()DevExpress.UserSkins.BonusSkins.Register();DevExpress.Skins.SkinManager.EnableFormSkins();Application.EnableVisualStyles();Application.SetCompatibleTe
12、xtRenderingDefault(false);Application.Run(newFrmMain();privatevoidSetSkin(stringskinName)DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(skinName);/获取所有皮肤名字voidInitSkins()foreach (DevExpress.Skins.SkinContainercntinDevExpress.Skins.SkinManager.Default.Skins)repositoryItemComboBox3.Items.
13、Add(cnt.SkinName);repositoryItemComboBox3.SelectedIndexChanged += newEventHandler(RepositoryItemComboBox2SelectedIndexChanged);/ComboBox下拉事件void repositoryItemComboBox1_SelectedIndexChanged(object sender, EventArgs e)DevExpress.XtraEditors.ComboBoxEditcomboBoxEdit = (DevExpress.XtraEditors.ComboBoxE
14、dit)sender;SetSkin(comboBoxEdit.SelectedItem.ToString();11. ComboBox 下来列表(repositoryItemComboBox)12. Wizard 向导控件 有两个构造函数,只能在其中一个构造函数中初始化向导中的数据。 此向导最大的作用是导航,及动画,向导中每个页面上的控件都是自己手工添加的,在同一个页面中,可以直接操作控件,给控件赋值、取值。 向导提供一些 API,可以控制向导上的元素,如:上一页,下一页等控件的使能。 可以修改向导每一页上的信息; 可以增加、删除向导页; 使用示例i. 增加控件ii. 其他13. DataGrid 表格 设置列展现形式。 多选 字段绑定 通过代码设置只读string option = “Editable“;DevExpress.Utils.SetOptions.SetOptionValueByString(option, gridView1.OptionsBehavior, false); 表头、单元格居中设置全局调整: