文档详情

propertygrid控件应用心得.docx

发布:2019-04-22约1.33万字共30页下载文档
文本预览下载声明
propertygrid控件应用心得   C#PropertyGrid控件应用心得   最近项目中做一模块时偶发奇想,希望使用propertygrid的控件实现类似visualstudio的属性样式,于是拿来一用,发现还真不是自己想象的那么简单,如果要实现一个比较好的展示,还真的需要不少技巧,通过自己的实践和网络的力量,“逢山开道,遇水搭桥”,总算是摸出一些门道,不敢私藏,拿出来与大家分享,呵呵。   先来转一个基础的,源自msdn   /taiwan/msdn/library/XX/Jul-XX/article/   摘要:本文旨在帮助您了解Microsoft.NET框架中的PropertyGrid控件,以及如何针对您的应用程序自定义该控件。   适用于:   Microsoft?.NET?框架   Microsoft?VisualStudio?.NET   目录   PropertyGrid控件简介   创建PropertyGrid控件   何处使用PropertyGrid控件选择对象   自定义PropertyGrid控件显示复杂属性   为属性提供自定义UI   PropertyGrid控件简介   如果您使用过Microsoft?VisualBasic?或MicrosoftVisualStudio.NET,那么您一定使用过属性浏览器来浏览、查看和编辑一个或多个对象的属性。.NET框架PropertyGrid控件是VisualStudi   o.NET属性浏览器的核心。PropertyGrid控件显示对象或类型的属性,并主要通过使用反射来检索项目的属性。   下面的屏幕快照显示了PropertyGrid在窗体上的外观。   图1:窗体上的PropertyGrid   PropertyGrid包含以下部分:   ?   ?   ?   ?   ?   ?   ?属性可展开属性属性类别标题属性说明属性编辑器属性选项卡命令窗格   创建PropertyGrid控件   要使用VisualStudio.NET创建PropertyGrid控件,需要将该控件添加到工具箱中,因为默认情况下并不包含该控件。在Tools菜单中,选择CustomizeToolbox。在对话框中选择FrameworkComponents选项卡,然后选择PropertyGrid。如果您从命令行编译代码,请使用/reference选项并指定。以下代码显示了如何创建PropertyGrid控件并将其添加到窗体中。viewplaincopytoclipboardprint?   1.   2.   3.   4.   5.   6.   7.   8.   9.usingSystem;using;using;using;using;publicclassOptionsDialog:{privateOptionsPropertyGrid;publicOptionsDialog()   10.{   11.OptionsPropertyGrid=newPropertyGrid();   12.=newSize(300,250);   13.(OptionsPropertyGrid);   14.=选项对话框;   15.}   16.[STAThread]   17.staticvoidMain()   18.{   19.(newOptionsDialog());   20.}   21.}   何处使用PropertyGrid控件   在应用程序中的很多地方,您都可以使用户与PropertyGrid进行交互,从而获得更丰富的编辑体验。例如,某个应用程序包含多个用户可以设置的“设置”或选项,其中一些可能十分复杂。您可以使用单选按钮、组合框或文本框来表示这些选项。但本文将逐步介绍如何使用PropertyGrid控件创建选项窗口来设置应用程序选项。上面所创建的OptionsDialog窗体即是选项窗口的开始。现在,我们创建一个名为AppSettings的类,其中包含映射到应用程序设置的所有属性。如果创建单独的类而不使用多个分散的变量,设置将更便于管理和维护。viewplaincopytoclipboardprint?   1.   2.   3.   4.   5.   6.   7.   8.   9.publicclassAppSettings{privateboolsaveOnClose=true;privatestringgreetingText=欢迎使用应用程序!;privateintitemsInMRU=4;privateintmaxRepeatRate=10;privateboolsettingsChanged=false;privatestringa
显示全部
相似文档