C# PropertyGrid控件应用心得Word文档格式.docx

上传人:b****2 文档编号:4395369 上传时间:2023-05-03 格式:DOCX 页数:58 大小:36.25KB
下载 相关 举报
C# PropertyGrid控件应用心得Word文档格式.docx_第1页
第1页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第2页
第2页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第3页
第3页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第4页
第4页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第5页
第5页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第6页
第6页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第7页
第7页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第8页
第8页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第9页
第9页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第10页
第10页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第11页
第11页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第12页
第12页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第13页
第13页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第14页
第14页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第15页
第15页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第16页
第16页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第17页
第17页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第18页
第18页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第19页
第19页 / 共58页
C# PropertyGrid控件应用心得Word文档格式.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C# PropertyGrid控件应用心得Word文档格式.docx

《C# PropertyGrid控件应用心得Word文档格式.docx》由会员分享,可在线阅读,更多相关《C# PropertyGrid控件应用心得Word文档格式.docx(58页珍藏版)》请在冰点文库上搜索。

C# PropertyGrid控件应用心得Word文档格式.docx

∙属性类别标题

∙属性说明

∙属性编辑器

∙属性选项卡

∙命令窗格(显示控件设计器提供的设计器操作)

创建PropertyGrid控件

要使用VisualStudio.NET创建 

控件,需要将该控件添加到工具箱中,因为默认情况下并不包含该控件。

在 

Tools 

(工具)菜单中,选择 

CustomizeToolbox 

(自定义工具箱)。

在对话框中选择 

FrameworkComponents 

(框架组件)选项卡,然后选择 

如果您从命令行编译代码,请使用 

/reference 

选项并指定System.Windows.Forms.dll。

以下代码显示了如何创建 

控件并将其添加到窗体中。

viewplaincopytoclipboardprint?

1.using 

System;

2.using 

System.Drawing;

3.using 

System.ComponentModel;

4.using 

System.Windows.Forms;

5.using 

System.Globalization;

6.public 

class 

OptionsDialog 

:

System.Windows.Forms.Form 

7.{ 

8. 

private 

System.Windows.Forms.PropertyGrid 

OptionsPropertyGrid;

9. 

public 

OptionsDialog() 

10. 

11. 

OptionsPropertyGrid 

new 

PropertyGrid();

12. 

OptionsPropertyGrid.Size 

Size(300, 

250);

13. 

this.Controls.Add(OptionsPropertyGrid);

14. 

this.Text 

"

选项对话框"

;

15. 

16. 

[STAThread] 

17. 

static 

void 

Main() 

18. 

19. 

Application.Run(new 

OptionsDialog());

20. 

21.} 

在应用程序中的很多地方,您都可以使用户与 

进行交互,从而获得更丰富的编辑体验。

例如,某个应用程序包含多个用户可以设置的“设置”或选项,其中一些可能十分复杂。

您可以使用单选按钮、组合框或文本框来表示这些选项。

但本文将逐步介绍如何使用 

控件创建选项窗口来设置应用程序选项。

上面所创建的 

窗体即是选项窗口的开始。

现在,我们创建一个名为 

AppSettings 

的类,其中包含映射到应用程序设置的所有属性。

如果创建单独的类而不使用多个分散的变量,设置将更便于管理和维护。

1.public 

AppSettings{ 

2. 

bool 

saveOnClose 

true;

3. 

string 

greetingText 

欢迎使用应用程序!

4. 

int 

itemsInMRU 

4;

5. 

maxRepeatRate 

10;

6. 

settingsChanged 

false;

7. 

appVersion 

1.0"

SaveOnClose 

get 

return 

saveOnClose;

set 

value;

GreetingText 

greetingText;

MaxRepeatRate 

21. 

maxRepeatRate;

22. 

23. 

24. 

ItemsInMRUList 

25. 

26. 

itemsInMRU;

27. 

28. 

29. 

SettingsChanged 

30. 

31. 

settingsChanged;

32. 

33. 

34. 

AppVersion 

35. 

36. 

appVersion;

37. 

38. 

39.} 

选项窗口上的 

将使用此类,因此请将类定义添加到应用程序项目中,在添加时可创建新文件或将其添加到现有窗体源代码的下方。

选择对象

要标识 

显示的内容,请将 

PropertyGrid.SelectedObject 

属性设置为一个对象实例。

然后,PropertyGrid 

将完成其余的工作。

每次设置 

SelectedObject 

时,PropertyGrid 

都会刷新显示的属性。

这提供了一种简单的方法来强制刷新属性,或在运行时切换对象。

您还可以调用 

PropertyGrid.Refresh 

方法来刷新属性。

接下来,您需要更新 

构造函数中的代码,以创建一个 

对象,并将其设置为 

属性的值。

2.{ 

// 

创建 

类并在 

中显示该类。

appset 

AppSettings();

OptionsPropertyGrid.SelectedObject 

appset;

10.} 

编译并运行该应用程序。

下面的屏幕快照显示了应用程序的外观。

图2:

PropertyGrid中选定的AppSettings类

自定义PropertyGrid控件

您可以修改 

的某些外观特征以满足自己的需要。

可以更改某些属性的显示方式,甚至选择不显示某些属性。

那么,如何对 

进行自定义呢?

更改PropertyGrid的外观特征

的许多外观特征都可以自定义。

下面列出了其中的一部分:

∙通过 

HelpBackColor 

、HelpForeColor 

和 

HelpVisible 

属性可以更改背景颜色、更改字体颜色或隐藏说明窗格。

ToolbarVisible 

属性可以隐藏工具栏,通过 

BackColor 

属性可以更改工具栏的颜色,通过 

LargeButtons 

属性可以显示大工具栏按钮。

∙使用 

PropertySort 

属性可以按字母顺序对属性进行排序和分类。

属性可以更改拆分器的颜色。

LineColor 

属性可以更改网格线和边框。

本示例中的选项窗口不需要工具栏,因此可以将 

设置为 

false 

其余属性均保留默认设置。

更改属性的显示方式

要更改某些属性的显示方式,您可以对这些属性应用不同的特性。

特性是用于为类型、字段、方法和属性等编程元素添加批注的声明标记,在运行时可以使用反射对其进行检索。

∙DescriptionAttribute 

-设置显示在属性下方说明帮助窗格中的属性文本。

这是一种为活动属性(即具有焦点的属性)提供帮助文本的有效方法。

可以将此特性应用于 

属性。

∙CategoryAttribute 

-设置属性在网格中所属的类别。

当您需要将属性按类别名称分组时,此特性非常有用。

如果没有为属性指定类别,该属性将被分配给杂项 

类别。

可以将此特性应用于所有属性。

∙BrowsableAttribute 

–表示是否在网格中显示属性。

此特性可用于在网格中隐藏属性。

默认情况下,公共属性始终显示在网格中。

∙ReadOnlyAttribute 

–表示属性是否为只读。

此特性可用于禁止在网格中编辑属性。

默认情况下,带有get和set访问函数的公共属性在网格中是可以编辑的。

∙DefaultValueAttribute 

–表示属性的默认值。

如果希望为属性提供默认值,然后确定该属性值是否与默认值相同,则可使用此特性。

∙DefaultPropertyAttribute 

–表示类的默认属性。

在网格中选择某个类时,将首先突出显示该类的默认属性。

类。

现在,我们将其中的一些特性应用于 

类,以更改属性在 

中的显示方式。

1.[DefaultPropertyAttribute("

SaveOnClose"

)] 

2.public 

[CategoryAttribute("

文档设置"

), 

DefaultValueAttribute(true)] 

全局设置"

ReadOnlyAttribute(true), 

DefaultValueAttribute("

DefaultValueAttribute(4)] 

[DescriptionAttribute("

以毫秒表示的文本重复率。

CategoryAttribute("

DefaultValueAttribute(10)] 

39. 

[BrowsableAttribute(false), 

40. 

DefaultValueAttribute(false)] 

41. 

42. 

43. 

44. 

45. 

46. 

版本"

47. 

48. 

ReadOnlyAttribute(true)] 

49. 

50. 

51. 

52. 

53. 

54.} 

将这些特性应用于 

类后,编译并运行该应用程序。

图3:

PropertyGrid中显示的带有类别和默认值的属性

使用此版本的选项窗口后,您会注意到以下几点:

∙显示窗口时,将首先突出显示 

∙选中 

属性时,说明帮助窗格中将显示“以毫秒表示的文本重复率”。

∙SaveOnClose 

属性显示在“文档设置”类别下。

其他属性分别显示在“全局设置”和“版本”类别下。

∙SettingsChanged 

属性将不再显示。

∙AppVersion 

属性为只读。

只读属性以灰显文本显示。

∙如果 

属性包含的值不是 

true 

,该值将以粗体显示。

使用粗体文本表示包含非默认值的属性。

显示复杂属性

到现在为止,选项窗口显示的都是简单的类型,如整数、布尔值和字符串。

那么,如何显示更复杂的类型呢?

如果应用程序需要跟踪窗口大小、文档字体或工具栏颜色等信息,该如何处理呢?

.NET框架提供的某些数据类型具有特殊的显示功能,能使这些类型在 

中更具可用性。

对所提供类型的支持 

首先,请更新 

类,为窗口大小(Size类型)、窗口字体(Font类型)和工具栏颜色(Color类型)添加新属性。

Size 

windowSize 

Size(100,100);

Font 

windowFont 

Font("

宋体"

 

9, 

FontStyle.Regular);

Color 

toolbarColor 

SystemColors.Control;

WindowSize 

windowSize;

WindowFont 

{return 

windowFont;

ToolbarColor 

toolbarColor;

DefaultValueAttrib

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2