使用DevExpress官方汉化文件对界面进行汉化的过程

使用DevExpress官方汉化文件对界面进行汉化的过程
使用DevExpress官方汉化文件对界面进行汉化的过程

使用DevExpress官方汉化文件对界面进行汉化的过程

在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件

Dxper.LocalizationCHS.Win.v13.1.5.dll,这个汉化包也比较方便,大多数时候复制一个文件就搞定了。不过这样的汉化包一般同步更新比较慢,最近使用了DevExpress当前较新版本14.*后,希望集成使用官方的汉化文件,本文介绍在使用官方汉化文件的一些历程和心得,希望对后来者有帮助。

我们知道,如果使用有其他方处理汉化包文件(类似汉化包

Dxper.LocalizationCHS.Win.v13.1.5.dll),这样的方式就是复制文件比较方便,如果使用官方汉化包,复制的文件比较多,比较零散。但是使用官方汉化包也有好处,就调用的时候,一句话就可以把界面线程的语言进行切换了,而且打包的时候,也不会有太多的不同。

Dev的官方汉化文件,是一系列的独立资源类,它对应着不同的界面汉化内容,如下界面截图所示。

以上这些文件是全部界面方面的汉化处理,一般情况下,我们不需要全部的内容,只需要我们使用到对应模块的汉化资源就可以了,所以即使是复制,也是复制一部分进行使用。

一般情况下,我们根据需要复制一部分即可。

准备好上面的文件后,我们在程序代码里面,需要增加一句话,指定去对应目录获取汉化资源文件即可。

这样如果我们是直接复制文件去机器上运行,记得把zh-CN目录下的资源文件一并复制过去,运行起来就可以看到Dev控件的中文化菜单或者提示了。

对于这么多汉化文件,看起来虽然比较多,但是,打包的时候,你最终也只是把这些零散的内容整合到安装包里面了,所以没有太多的不一样的地方。

一般情况下,我们在安装包里面,集成汉化文件的时候,就在文件视图里面,把对应的zh-CN目录整个拖动到VS的安装包设计器里面,就可以了,这样所有相关的文件都会加入进来,也是非常方便的。

做好这一步,其他的内容,就是按照常规的方式进行添加或者处理就可以了,对于安装包,有时候通过刷新引用关系,并检查某些文件是否遗漏即可。

以上是基于VS2010的安装包处理,对于VS2012、VS2013以上,他们的做法上有所不同,不过总体的步骤是一致的。

对于引入Dev14.*的版本,由于它们增加了对PDF的改善支持,因此我们可以直接在附件里面预览PDF文档而没有出现格式出错的情况了(13.*处理PDF的格式会有问题),另外还增强了XtraSpreadSheet 的功能,因此也可以使用这个模块来处理Excel的相关内容了,Word 照常可以使用RichEdit控件进行预览和处理,不过格式显示依旧有一些失真,有些地方字体显示还是不太好。

不过基于PDF、RichEdit和SpreadSheet的功能,可以使用它们进行很好的应用了。如我在我的《Winform开发框架》、《混合式开发框架里面》使用的通用附件管理模块,就是基于这些特点,实现图片、Excel文档、Word文档和PDF等文档的在线预览和管理操作,界面截图如下所示。

由于引进了一些新的对象,如Range等,这些如果你在Aspose.Cell 里面已经使用它来处理报表方面的时候,那么就需要特别声明了,因为

它会和DevExpress里面的SpreadSheet里面的对象类产生冲突,一般情况下处理下就可以了。

除了这些,基本上没有其他的冲突问题,DevExpress版本的更新,依旧保持比较的向后兼容的情况。

转载请注明出处:

撰写人:伍华聪https://www.360docs.net/doc/e917502764.html,

多文档界面窗口

多文档界面窗口 MDI 应用程序是另一类重要的文档视结构程序。它的特点是:用户一次可以打开多个文档,每个文档对应不同的窗口;主窗口的菜单会自动随着当前活动的子窗口的变化而变化;可以对子窗口进行层叠、平铺等各种操作;子窗口可以在MDI 主窗口区域内定位、改变大小、最大化和最小化,当最大化子窗口时,它将占满MDI 主窗口的全部客户区。MDI 不仅可以在同一时间内同时打开多个文档,还可以为同一文档打开多个视图。在Windows 菜单下选择New ,就为当前活动文档打开一个新的子窗口。 从程序员角度看,每个MDI 应用程序必须有一个CMDIFrameWnd或其派生类的实例,这个窗口称作MDI 框架窗口。CMDIFrameWnd是CFrameWnd的派生类,它除了拥有CFrameWnd框架窗口类的全部特性外,还具有以下与MDI 相关的特性: 与SDI 不同,主框架窗口并不直接与一个文档和视图相关联。MDI 框架窗口拥有MDICLIENT (MDI 客户窗口),在显示或隐藏控制条(包括工具条、状态栏、对话条)时,重新定位该子窗口。 MDI 客户窗口是MDI 子窗口的直接父窗口,它负责管理主框架窗口的客户区以及创建子窗口。每个MDI 主框架窗口都有且只有一个MDI 客户窗口。 MDI 主框架窗口、客户窗口和子窗口的关系如下图所示: 图8-1 MDI 主框架窗口、客户窗口和子窗口 MDI 子窗口是CMDIChildWnd或其派生类的实例,CMDIChildWnd是CFrameWnd的派生类,用于容纳视图和文档,它相当于SDI 下的主框架窗口。每打开一个文档,框架就自动为文档创建一个MDI 子窗口。一个MDI 应用程序负责动态的创建和删除MDI 子窗口。在任何时刻,最多只有一个子窗口是活动的( 窗口标题栏颜色呈高亮显示) 。MDI 框架窗口始终与当前活动子窗口相关联,命令消息在传给MDI 框架窗口之前首先分派给当前活动子窗口。 在没有任何活动的MDI 子窗口时,MDI 框架窗口可以拥有自己的缺省菜单。当有活动子窗口时,MDI 框架窗口的菜单条会自动被子窗口的菜单所替代。框架会自动监视当前活动的子窗口类型,并相应的改变主窗口的菜单。比如,在Visual Studio 中,当选择对话框资源编辑窗口或源程序窗口时,菜单会有所不同。但是,对于程序员来说,只需要在InitInstance 中注册文档时指定每一类子窗口(严格的讲是文档)所使用的菜单,而不必显式的通过调用函数去改变主框架窗口的菜单,因为框架会自动完成这一任务。 MDI 框架窗口为层叠、平铺、排列子窗口和新建子窗口等一些标准窗口操作提供了缺省的菜单响应。在响应新建子窗口命令时,框架调用CDocTemplate::CreateNewFrame() 为当前活动文档创建一个子窗口。CreateNewFrame() 不仅创建子窗口,还创建与文档相对应的视图。 下面,我们结合一个绘图程序例子,介绍多文档界面技术。在此之前,我们首先要介绍

DevExpress控件之主题

DevExpress控件之主题 DevExpress控件的主题不仅多种多样,而且非常美观大方,以对完美观念不强的我们绝对是个惊喜,当然了,对于我们的用户也是一个福音,因为他们再对不用抱怨我人软件界面是如何的粗造了。 l 如何打造美丽的界面? l 如何快速的更换漂亮的主题? l 如何快速的使用类似于Offcie2007的操作面板? ...... 本节课程将一一解答,带您进入美轮美奂的DevExpress世界! 1. 如何建造可换主题的窗口程序 当我们打开或新建一个“Windows程序”,系统默认会有一个From,名称为From1。请注意,此时的”Form1”继承的是Windows自带的Form,即”System.Windows.Forms”。而这个Form是不会应用DevExpress的主题样式的。 那么我们怎么样才可以让Form应用这些样式呢? 当我们安装完DevExpress控件包之后,在添加新项窗口中我们会看到多出的几项:如图: 分别是:DevExpress Form v9.1、DevExpress RibbomForm v9.1和DevExpressUsercontrol v9.1,其中“v9.1”是版本号。 当我们在新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。此时,From继承的是“DevExpress.XtraEditors.XtraForm”。默认情况下,系统主题有:* Caramel * Money Twins * Lilian * The Asphalt World * iMaginary * Black * Blue 这几种主题,具体效果自己写个例子看看吧! 但DevExpress提供了更多的主题,我们如果应用的话,必须添加以下引用: DevExpress..OfficeSkins.v9.1; DevExpress.BonusSkins.v9.1; 除此之外,必须在“Program.cs”文件在添加如下代码: [c-sharp] view plaincopy https://www.360docs.net/doc/e917502764.html,erSkins.OfficeSkins.Register(); https://www.360docs.net/doc/e917502764.html,erSkins.BonusSkins.Register(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (!DevExpress.Skins.SkinManager.AllowFormSkins) DevExpress.Skins.SkinManager.EnableFormSkins(); Application.Run(new frmMain()); 其中“OfficeSkins”中的主题有:

vc 6.0打造单文档界面与多文档界面的编程

vc++6.0打造单文档界面与多文档界面的编程 VC++6中,可以利用MFC向导分别创建单文档和多文档界面的应用程序。有了这两种类型的应用程序,您就可以实现简单的记事本,写字本和WORD的功能了。 以下介绍一个在文档中输出一段文字,点击菜单项,输入文字内容按OK按钮后可以更改输出的文字。 1.首先,点击MFC向导,选择多文档视图类型,新建一个名为MdiDemo的工程。 2.新建一个对话框。上面放置一个Static控件和一个Edit控件,按CTRL+W,将Edit控件改成m_Caption. 3.新建一个类与对话框对应,如CDlgDemo类。 4.在菜单中,增加一项Demo,并增加菜单项Test.按 CTRL+W,并双击后,在消息的上面选择Doc,下面选择Command,双击就产生了对应的事件处理函数。 5.在MdiDemoDoc.cpp类中输入以下: // DlgDemo.cpp : implementation file // #include "stdafx.h" #include "MdiDemo.h" #include "DlgDemo.h" #ifdef _DEBUG

#define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgDemo dialog CDlgDemo::CDlgDemo(CWnd* pParent /*=NULL*/) : CDialog(CDlgDemo::IDD, pParent) { //{{AFX_DATA_INIT(CDlgDemo) m_Caption = _T(""); //}}AFX_DATA_INIT } void CDlgDemo::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgDemo) DDX_Text(pDX, IDC_EDIT1, m_Caption); //}}AFX_DATA_MAP }

单文档和多文档窗口使用方法解析

单文档和多文档窗口使用方法解析 一.实验目的 掌握利用开发平台创建单文档和多文档窗口方法 掌握在窗口中输出文字、图形的方法及 MFC 中相关类的使用 二.实验要求 1 创建一个单文档窗口,在文档类定义一个整型变量,其取值范围从 0 ~ 1000 循环,在视图的中间显示该数字,当用户点击窗口的不同区域时,变量值按不同的增量增加并显示。 提示:在修改数据后,使用 Invalidate() 函数引起 MFC 对 OnDraw() 的调用,这样就可以用修改后的数据进行画图了。关于对文档类的访问,见本实验的技术支持。 2 创建一个单文档窗口,鼠标在窗口上单击后在鼠标的位置显示一正方形,点击 20 次后清窗口,新的点击将不再增加新的正方形,而是将已输入的正方形在原位置显示,当然,在每20 单击后要重新清窗口。(要求用 MFC 的通用类保存单击的信息,如 CList 类) 知识点:画线 当单击鼠标左键时,就可以获得一个点,即线条的起点。接着按住鼠标左键并拖动一段距离后松开鼠标,此时也可以获得一个点,即线条的终点。也就是说,我们需要捕获两个消息,一个是鼠标左键按下消息(WM_LBUTTONDOWN),在该消息响应函数中可以获得将要绘制的线条的起点;另一个是鼠标左键弹起来的消息(WM_LBUTTONUP),在该消息响应函数中可以获得将要绘制的线条的终点。有了这两个点就可以绘制出一条线。 利用SDK全局函数实现画线功能 为了进行绘图操作,必须获得一个设备描述表(DC),因此,首先定义一个HDC类型的变量:hdc,接着调用全局函数GetDC获得当前窗口的设备描述表。因为CWnd类有一个成员变量(m_hWnd),而CView类派生于CWnd类,因此该类也有这样的一个成员变用于保存窗口句柄,而GetDC函数可以直接把这个成员变量作为参数来使用。 利用MFC的CDC类实现画线功能 该类提供一个数据成员m_hDC类用来保存与CDC相关的DC句柄。其道理与CWnd 类提供成员变量m_hWnd保存与窗口相关的窗口句柄是一样的。 CDC* pDC = GetDC(); pDC->MoveTo(m_ptOriginal); pDC->LineTo(point); ReleaseDC(pDC);

DEVEXPRESS 控件学习总结

1、Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们需要把一个不可见的控件(component)BarManager(Navigation&Layout)拖放到这个窗体或用户控件上。这个控件维护工具条在窗体上的布局,处理用户的行为 (processes an end-user's actions),提供一些定制功能等等。这个控件维护工具条、工具条项、工具条项目录这三者的集合 (It maintains the collections of bars,bar items and bar item categories.)。所以我们可以使用bar manager的一些方法去添加、删除、访问这些工具条元素。 注意:1)一个窗体上只能放置一个bar manager控件。 2)由于BarManager控件与RibbonControl控件可能会彼此冲突,所以不推荐在同一个窗体或用户控件上同时使用工具条和Ribbon控件。 当把BarManager添加到一个窗体或用户控件上后,我们就可以使用上下文菜单(context menus)、bar manager的定制窗口或它的设计器来创建工具条和工具条命令(bar commands)了。 相关控件属性 1.1.2、Toolbars 工具条是一个可视的控件,它用来显示各个项目链接。我们可以在工具条内显示由XtraBars库提供的任意项目链接,比如:按钮(buttons),静态文本(static text),子菜单(submenu)、编辑器(editors)等等。 1.1.3、 Bar Items 为了把多种元素(比如按钮,子菜单,标签,编辑器等)添加到工具条和菜单,我们需要创建合适的bar items。一个bar item是一个实现了特定功能的非可见对象。它定义了一个相应的元素如何显示在屏幕上,并决定了对鼠标单击事件的相应。 我们可以使用bar manager的Customize窗体上的Commands页来创建bar items。为了在逻辑上组织这些item,我们经常将它们分类。该窗体的左侧面板里显示了有效的目录,右侧面板显示了属于当前选中目录的各个bar item。选中一个bar item可以在属性窗口看到其属性。 1.1.4、Popup Menus 使用弹出菜单(popup menus),我们可以在控件上显示上下文选项或命令。弹出菜单是一个显示了特定项的窗体,用户可以选择这些项以执行相应的操作。使用PopupMenu控件就可以在我们的应用程序中使用弹出菜单。 通过BarManager的“名称”+“上的PopupContenxtMenu”属性绑定PopuMenus控件 注意:

多文档界面示例

程序运行结果截图: 程序清单如下: import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class Example10_36 { public static void main(String args []) { MDIWindow win = new MDIWindow(); } } class MyInternalFrame extends JInternalFrame { JTextArea text; MyInternalFrame(String title) { super(title,true,true,true,true); text = new JTextArea(); add(new JScrollPane(text),BorderLayout.CENTER); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); addInternalFrameListener(new InternalFrameAdapter() { public void internalFrameActivated(InternalFrameEvent e) { setLayer(JDesktopPane.DRAG_LAYER); }

public void internalFrameDeactivated(InternalFrameEvent e) { setLayer(JDesktopPane.DEFAULT_LAYER); } } ); } public JTextArea getJTextArea() { return text; } } class MDIWindow extends JFrame implements ActionListener { JDesktopPane desk; //用来添加内部窗体的桌面容器 JMenuBar MenuBar; JMenu Menu; JMenuItem itemNew,itemCopy,itemCut,itemPaste; MDIWindow() { desk = new JDesktopPane(); desk.setDesktopManager(new DefaultDesktopManager()); add(desk,BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MenuBar = new JMenuBar(); Menu = new JMenu("编辑"); itemNew = new JMenuItem("新建"); itemCopy = new JMenuItem("复制"); itemCut = new JMenuItem("剪切"); itemPaste = new JMenuItem("粘贴"); itemNew.addActionListener(this); itemCopy.addActionListener(this); itemCut.addActionListener(this); itemPaste.addActionListener(this); Menu.add(itemNew); Menu.add(itemCopy); Menu.add(itemCut); Menu.add(itemPaste); MenuBar.add(Menu); setJMenuBar(MenuBar); setBounds(100,100,300,300); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource() == itemNew) { JInternalFrame a[] = desk.getAllFrames();

DevExpress控件的GridControl控件小结

目录 1. DevExpress控件组中的GridControl控件不能使横向滚动条有效。 (2) 2. 使单元格不可编辑。 (2) 3. 没有下拉滚动条事件怎么办? (2) 4. 获取选定行,指定列单元格的内容 (2) 5. 去除"Drag a Column Header Here To Group by that Column" (3) 6. 在gridcontrol中添加checkbox复选框 (3) 7. 单元格合并问题 (4) 8. gridView 奇行与偶行交替变色 (4) 9. girdView在第一列显示行号 (4) 10. 选中某列进行排序时,如何让该列高亮显示 (5) 11. XtraGrid冻结列 (5)

(由于开始使用DevExpress控件了,所以要点滴的记录一下) 1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。 现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容。 解决: gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。 2.使单元格不可编辑。 gridcontrol -->gridview -->OptionsBehavior -->Editable=false 3.没有下拉滚动条事件怎么办? 现象:因为需要加载大数据量数据,所以不能一次把所有数据读入datatable进行绑定,所以决定在用户进一步浏览数据时进行数据的实时加载工作,就是每当用户拉动滚动条时,多加载一些数据进入datatable.没有找到合适的滚动条事件,于是用这个事件代替了,非常合适我的需求. TopRowChanged事件. 4.获取选定行,指定列单元格的内容 private string GetSelectOID() { int[] pRows = this.gridView1.GetSelectedRows(); if (pRows.GetLength(0) > 0) return gridView1.GetRowCellValue(pRows[0], mOIDFiledName).ToString (); else return null; } //mOIDFiledName为要获取列的列名

第三方控件(DevExpress)使用大全【个人开发过程中整理收集】

第三方控件使用大全 【张杰章开发过程中整理】 一、ComboBoxEdit 1、如何使其不可编辑 TextEditStyle 设置为:DisableTextEditor 2、如何设置鼠标为手形 Cursor 设置为:Hand 二、GridControl 1、如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2、如何新增一条记录 (1)、gridView.AddNewRow() (2)、实现gridView_InitNewRow事件 3、如何解决GridControl记录能获取而没有显示出来的问题 gridView.populateColumns(); 4、如何让行只能选择而不能编辑(或编辑某一单元格) (1)、View->OptionsBehavior->EditorShowMode 设置为:Click (2)、View->OptionsBehavior->Editable 设置为:false 5、如何禁用GridControl中单击列弹出右键菜单 设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false 6、如何隐藏GridControl的GroupPanel表头 设置Run Design->OptionsView->ShowGroupPanel 设置为:false 7、如何禁用GridControl中列头的过滤器 过滤器如下图所示: 设置Run Design->OptionsCustomization->AllowFilter 设置为:false 8、如何在查询得到0条记录时显示自定义的字符提示/显示 如图所示:

DevExpress控件使用使用技巧小结

DevExpress控件使用使用技巧小结 零零散散的先总结一下吧 1.TextEditor(barEditItem)取文本 string editValue = barEditItem1.EditValue.ToString(); //错误,返回null string editValue = ((DevExpress.XtraEditors.TextEdit)barEditItem).EditValue.ToString(); //正确,返回文本框内容https://www.360docs.net/doc/e917502764.html,boBoxEdit(barEditItem)添加Item string item = "comboboxItem1"; ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)this.barEd itItem.Edit).Items.Add(item);https://www.360docs.net/doc/e917502764.html,boBoxEdit(barEditItem)取文本 string itemValue = this.barEditItem.EditValue.ToString();4.Ribbon控件//添加Page DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage = new RibbonPage(); ribbonControl.Pages.Add(ribbonPage); //添加Group DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup = new RibbonPageGroup(); ribbonPage.Groups.Add(ribbonPageGroup); //添加Button DevExpress.XtraBars.BarButtonItem barButtonItem = new BarButtonItem(); ribbonPageGroup.ItemLinks.Add(barButtonItem); //添加barSubItem DevExpress.XtraBars.BarSubItem barSubItem = new BarSubItem(); ribbonPageGroup.ItemLinks.Add(barSubItem); //barSubItem下添加Button barSubItem.AddItem(barButtonItem); //奇怪的删除Page问题 while (this.ribbonControl.Pages.Count > 0) { ribbonControl.Pages.Remove(ribbonControl.Pages[0]); //调试正常,运行报异常 } while (this.ribbonControl.Pages.Count > 0) {

用VB建立多文档界面的方法

[教案] (十三)多文档界面 授课方式:讲授法 授课学时:2学时 教学目的: 通过本次课的学习,学生应该了解SDI与MDI界面的区别,掌握用VB建立多文档界面的方法,了解创建MDI应用程序的过程 教学重点和难点: 用VB建立多文档界面的方法。 教学过程: 一、多文档界面的特性 1.基本概念 了解相关的以下4个基本概念--单文档界面、多文档界面、主窗体和子窗体 2.多文档界面的特性 多文档界面在具体应用中的三个特性 二、创建多文档界面 1.步骤 掌握创建多文档界面的步骤 (1)MDI窗体的建立 (2)子窗体的建立 2.设计实例 通过例题讲解多文档界面的建立 三、多文档界面的属性、方法和事件 1.属性 (1)MDIChild属性 (2)Screen对象及ActiveForm属性 2.QueryUnload事件 (1)事件的应用环境 (2)触发事件的条件 3.Arrange方法

(1)方法的功能及其作用 (2)方法调用的语法格式 四、综合设计 通过例题讲解多文档界面的具体应用 学生作业: 上机实验九:多文档界面设计 [讲稿] (十三)多文档界面 13.1 多文档截面的特性 一、基本概念 1、多文档分类:基于Windows的应用程序的用户界面样式主要有两种:单文档界面(SDI)和多文档界面(MDI) 2、多文档界面:允许在单个容器窗体内包含多个窗体,文档或子窗口被包含在父窗口中,父窗口为应用程序中所有子窗口提供工作空间。 3、文档界面:当一个新的文件被打开时,原来的文件将被自动关闭,即在同一时刻应用程序只能处理一个文档 4、主窗体~在MDI应用程序中,为多个打开了的方档提供工作空间的窗体叫主窗体,也称其为MDI窗体 5、子窗体~被限制在主窗体中的窗体即MDI子窗体 二、MDI的特征 1、所有子窗体均显示在MDI窗体的工作区中。用户可改变,移动子窗体的大小,但被限制在MDI窗体中 2、当最小化子窗体中,它的图标将显示在MDI窗体上,而不是任务栏中,当最小化MDI窗体时,所有的子窗体也被最小化,只有MDI窗体的图标出现在任务栏中 3、MDI窗体和子窗体都可以有各自的菜单,当子窗体加载时覆盖MDI窗体的菜单 13.2 创建多文档界面 一、步骤 1、“工程”“添加MDI窗体” 注意:一个应用程序只能有一个MDI窗体 2、创建应用程序的子窗体

devexpress控件学习总结z

devexpress控件学习总结z 1、Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们需要把一个不可见的控件(component)BarManager(Navigation&Layout)拖放到这个窗体或用户控件上。这个控件维护工具条在窗体上的布局,处理用户的行为(processes an end-user's actions),提供一些定制功能等等。这个控件维护工具条、工具条项、工具条项目录这三者的集合(It maintains the collections of bars,bar items and bar item categories.)。所以我们可以使用bar manager的一些方法去添加、删除、访问这些工具条元素。 注意:1)一个窗体上只能放置一个bar manager控件。 2)由于BarManager控件与RibbonControl控件可能会彼此冲突,所以不推荐在同一个窗体或用户控件上同时使用工具条和Ribbon控件。 当把BarManager添加到一个窗体或用户控件上后,我们就可以使用上下文菜单(context menus)、bar manager 的定制窗口或它的设计器来创建工具条和工具条命令(bar commands)了。 相关控件属性

1.1.2、Toolbars 工具条是一个可视的控件,它用来显示各个项目链接。我们可以在工具条内显示由XtraBars库提供的任意项目链接,比如:按钮(buttons),静态文本(static text),子菜单(submenu)、编辑器(editors)等等。 1.1.3、Bar Items 为了把多种元素(比如按钮,子菜单,标签,编辑器等)添加到工具条和菜单,我们需要创建合适的bar items。一个bar item是一个实现了特定功能的非可见对象。它定义了一个相应的元素如何显示在屏幕上,并决定了对鼠标单击事件的相应。 我们可以使用bar manager的Customize窗体上的Commands页来创建bar items。为了在逻辑上组织这些item,我们经常将它们分类。该窗体的左侧面板里显示了有效的目录,右侧面板显示了属于当前选中目录的各个bar item。选中一个bar item可以在属性窗口看到其属性。 1.1.4、Popup Menus 使用弹出菜单(popup menus),我们可以在控件上显示上下文选项或命令。弹出菜单是一个显示了特定项的窗体,用户可以选择这些项以执行相应的操作。使用PopupMenu控件就可以在我们的应用程序中使用弹出菜单。

DevExpress控件使用汇总

一、GridControl使用详解 1、原汁原味的表格展示 插件所在位置

使用时拖拽过来,如下所示即使拖拽过来原封不动的样子:

在程序中写入构建一个表格的代码: 1. private DataTable InitDt() 2.{ 3.DataTable dt = new DataTable("个人简历"); 4.dt.Columns.Add("id",typeof(int)); 5.dt.Columns.Add("name", typeof(string)); 6.dt.Columns.Add("sex", typeof(int)); 7.dt.Columns.Add("address", typeof(string)); 8.dt.Columns.Add("aihao", typeof(string)); 9.dt.Columns.Add("photo", typeof(string)); 10.dt.Rows.Add(new object[] { 1, "张三", 1, "东大街6号", "看书", "" }); 11.dt.Rows.Add(new object[] { 1, "王五", 0, "西大街2号", "上网,游戏", "" }); 12.dt.Rows.Add(new object[] { 1, "李四", 1, "南大街3号", "上网,逛街", "" }); 13.dt.Rows.Add(new object[] { 1, "钱八", 0, "北大街5号", "上网,逛街,看书,游戏", "" }); 14.dt.Rows.Add(new object[] { 1, "赵九", 1, "中大街1号", "看书,逛街,游戏", "" }); 15.return dt; 16.} 书写gridControl1绑定数据方法: 1. private void BindDataSource(DataTable dt) 2.{ 3.//绑定DataTable 4.gridControl1.DataSource = dt; 5.//绑定DataSet

DevExpress控件学习

DevExpress控件学习 1.MDI窗体 ?首先需要把父窗体设置为MDI容器: ?在主窗体放一个xtraTabbedMdiManager,如: ?设置MDI窗体样式; 子窗体关闭按钮的样式 多个标签的时候,如何显 示标签导航栏 MDI子窗体标签栏的位置 ?新建一子窗体,可以是DevExpress的也可以是VS自带的(VS自带的最好改下背景色为如下配置,否则会主子窗体颜色不搭配。 ) ?调用子窗体的代码如下: ///

///打开子窗体 /// /// privatevoid OpenChildForm(Form frm) { int iCount = 0; foreach (var mdiChild inthis.MdiChildren) {

if (mdiChild.Text == frm.Text) { mdiChild.Activate(); iCount++; } } if (iCount> 0) return; frm.MdiParent = this; frm.Show(); } privatevoid btnMqClient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Text = e.Link.Item.Caption; if (e.Link.Item.Tag != null) { object ooo = e.Link.Item.Tag; } FrmOutLook frm = new FrmOutLook(); OpenChildForm(frm); } ?如果不想关闭子画面,则在子画面窗体上选择属性ControlBox关闭: 2.OutLook导航条用法: 选中navBarGroup1,在属性栏中选择GroupStyle,可以调整图标显示样式。 3.Ribbon编辑器 ?去掉Win7透明窗体,保持所有情况下显示风格都一致。 在Ribbon主窗体中选择属性AllowFormGlass,会在Win7风格时增加一个透明框框,很丑,所以我选择了False

DotNetBar控件的多文档界面的实现

DotNetBar控件的多文档界面的实现 DotNetBar是一个不错的DotNET控件套装,原来是一个DLL文件,能够做出很漂亮的界面效果,记得在8.0以前的版本,好像实现多文档界面稍显得麻烦一些,我的Winform 框架、WCF框架虽然也提供了这样多文档的界面,不过都是曲线救国的方式实现。随着DotNetBar控件的逐步完善,版本一路飙升,文件也开始学DevExpress那样,使用多个文件进行拆分了。目前11.0版本以上,都有一个SuperTabControl的控件,实现多文档的界面已经很方便了。本文介绍利用SuperTabControl控件实现一个多文档界面的效果,供大家参考学习。 下面是框架的一个基于DotNetBar控件的界面设计效果,按照Ribbon样式的方式进行组织,并把多文档界面放在中间,这样界面效果更加美观合理。 另外为了使得在Tab页面上可以关闭窗口,可以增加一个右键菜单,如下所示。 设置控件的相关属性,使得他的关闭按钮一直存在,并关联它的右键菜单即可,如下所示。

这个SuperTabControl,支持好几种Tab样式的,有些看起来非常不错,在其中选择自己喜欢的样式即可。 在主界面中的Form_Load事件中,我们清空并初始化默认的Tab页面即可,如下所示。 private void MainForm_Load(object sender, EventArgs e) { Init();

//清空默认的Tab NavTabControl.Tabs.Clear(); tool_ItemDetail_Click(null, null); } private void tool_ItemDetail_Click(object sender, EventArgs e) { SetMdiForm("备件信息", typeof(FrmItemDetail)); } 从上面的代码,我们看到核心的界面排版就是SetMdiForm函数了,下面我们来看看这个函数的具体实现。这个函数目的就是创建或者显示一个多文档界面页面。 ///

///创建或者显示一个多文档界面页面 /// ///窗体标题 ///窗体类型 public void SetMdiForm(string caption, Type formType) { bool IsOpened = false; //遍历现有的Tab页面,如果存在,那么设置为选中即可 foreach (SuperTabItem tabitem in NavTabControl.Tabs) { if (https://www.360docs.net/doc/e917502764.html, == caption) { NavTabControl.SelectedTab = tabitem; IsOpened = true; break; } } //如果在现有Tab页面中没有找到,那么就要初始化了Tab页面了

Delphi中使用Devexpress TcxPagecontrol控件

Delphi中使用TcxPagecontrol控件建立一个VCL应用程序,界面如下图 1.动态创建cxTabsheet的代码如下: procedure TForm1.cxButton1Click(Sender: TObject); var newTabsheet:TcxTabSheet; i:Integer; begin for i := 1 to 5 do begin newTabsheet:=TcxTabSheet.Create(self); newTabsheet.Caption:=i.ToString()+ ' Tabs'; newTabsheet.Tag:=i; newTabsheet.PageControl:=cxPageControl1; newTabsheet.Visible:=True; end; end; 上述代码将动态创建5个cxTabsheet,执行结果如下 2.动态关闭当前激活的cxTabsheet,代码如下: procedure TForm1.cxButton2Click(Sender: TObject); begin cxPageControl1.ActivePage.Free; end;

3.动态指定关闭cxTabsheet,代码如下: procedure TForm1.cxButton3Click(Sender: TObject); begin //关闭第2个TABSHEET cxPageControl1.Pages[1].Free; end; 4.动态指定激活cxTabsheet,代码如下: procedure TForm1.cxButton4Click(Sender: TObject); var i:Integer; begin for i := 0 to cxPageControl1.PageCount-1 do begin if cxPageControl1.Pages[i].Tag =1 then begin cxPageControl1.ActivePage:= cxPageControl1.Pages[i]; Exit; end; end; end; 5.下面演示如何在cxTabsheet动态加载窗体或控件: 新增加一个button控件,另外再新建一个VCL窗体—FORM2,编写如下代码

DevExpress控件属性说明

TcxGrid Align 设置控件的排列方式。 alBottom:相对于父容器为底端对齐排列。 alClient:相对于父容器为剩余部分完全覆盖排列。 alCustom:相对于父容器为自定义对齐排列。 alLeft:相对于父容器为左端对齐排列。 alNone:默认对齐排列。 alRight:相对于父容器为右端对齐排列。 alTop:相对于父容器为顶端对齐排列。 AlignWithMargins 设置控件与其父容器之间的间隙。 Anchors 设置控件的对齐方式。 akLeft 当其父容器大小改变时,控件左端相对于父容器左端的位置不变。 akTop 当其父容器大小改变时,控件顶端相对于父容器顶端的位置不变。

akRight 当其父容器大小改变时,控件右端相对于父容器右端的位置不变。 akBottom 当其父容器大小改变时,控件底端相对于父容器底的位置不变。BevelEdges 设置控件的是否显示斜面。 beLeft 控件左端。 beTop 控件顶端。 beRight 控件右端。 beBottom 控件底端。 BevelInner 设置斜面内部的样式。 bvLowered:下凹式。 bvNone:无样式。 bvRaised:凸起式。

如有你有帮助,请购买下载,谢谢!bvSpace:间隔式。 BevelKind 设置斜面样式。 bkFlat:平坦式。 bkNone:无样式。 bkSoft:柔和式。 bkTile:凸起式。 BevelOuter 设置斜面外部样式。 bvLowered:下凹式。 bvNone:无样式。 bvRaised:凸起式。 bvSpace:间隔式。 BevelWidth 设置斜面宽度。 BorderStyle 设置边框样式。 cxcbsDefault:默认样式。 cxcbsNone:无样式。 BorderWidth 设置边框宽度。

使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)

使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图) WebChartControl是DevExpress控件群下的一个Web图表控件,它使用非常的方便,生成的图表也相当的漂亮。 先贴出几张WebChartControl生成的图表: Web页面代码WebChartControl.aspx: View Code 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebChartControl.aspx.cs" Inherits="DevDemo.WebChartControl" %> 2 3<%@ Register Assembly="DevExpress.XtraCharts.v11.2.Web, Version=11.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 4Namespace="DevExpress.XtraCharts.Web" TagPrefix="dxchartsui" %> 5 6<%@ Register assembly="DevExpress.XtraCharts.v11.2, Version=11.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.XtraCharts" tagprefix="cc1" %> 7 8

相关文档
最新文档