winform自定义控件 toolStrip控件添加button的text值

WinForm控件常用命名方式_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
63页免费21页免费30页免费2页免费14页1下载券 9页免费34页1下载券120页2下载券2页免费2页免费
喜欢此文档的还喜欢94页免费50页免费6页1下载券11页免费34页1下载券
WinForm控件常用命名方式|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢winform中怎样使DataGridView的某一列可以添加两个Button控件
[问题点数:100分,结帖人maczhufengming]
winform中怎样使DataGridView的某一列可以添加两个Button控件
[问题点数:100分,结帖人maczhufengming]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。Content not found
We could not find the page you requested.
Sorry, this page is unavailable. Please try again later.
Learning resourcestrackbacks-0
MSDN学习笔记 肯定很多MSDN上的拉,不要说我抄袭噢~&
一. WinForm控件:BackgroundWorker 组件
(多线程专题中再做整理)
二.WinForm控件:BindingNavigator 控件
&&&& 用于提供一个UI来导航和操作数据,所以通常和BindingSource一起使用,实现在数据记录中的移动和交互,由 ToolStrip 和一系列 ToolStripItem 对象组成,默认的每个控件在BindingSource中都有一个方法与之对应
2.常用操作
BindingNavigator 成员
移到下一条记录
三.WinForm控件:BindingSource 组件
该控件有两功能:
1.数据导管:实现连接窗体上控件与数据的中间层(BindingSource绑定到数据源+BindingSource绑定到控件)&&&&&&&&&
&&&&&&&&&&& 2.数据源:强类型数据源.Add()向组件添加类型会创建一个该类型的列表
2.常用操作
1)作为数据导管(媒介):
&&&& 连接数据库:DataSource属性填入DataSet,DataMember属性填入该DataSet的某个表
2)作为数据源
&&&& 没有添加表就将数据项加入BindingSource,则将其作为数据源
3)数据操作
Current 属性
获取数据源的当前项。
Position 属性
获取或设置基础列表中的当前位置。
获取 DataSource 计算和 DataMember 计算列表。如果未设置 DataMember,则返回由 DataSource 指定的列表。
Insert 方法
将项插入列表的指定索引处。
RemoveCurrent 方法
从列表中移除当前项。
EndEdit 方法
将挂起的更改应用于基础数据源。
CancelEdit 方法
取消当前的编辑操作。
AddNew 方法
在基础列表中添加一个新项。如果数据源实现了 IBindingList 并从 AddingNew 事件返回一个项,则添加该项。否则,请求将被传递到列表的 AddNew 方法。如果基础列表不是一个 IBindingList,会通过它的公共默认构造函数自动创建该项。
4)排序和过滤
通常应使用排序的或过滤的数据源视图。下表显示 BindingSource 组件数据源提供的成员。
如果数据源为 IBindingList,则获取或设置用于排序和排序顺序信息的列名。如果数据源为 IBindingListView,并支持高级排序,则获取用于排序和排序顺序信息的多个列名。
Filter 属性
如果数据源是 IBindingListView,则会获取或设置用于过滤所查看行的表达式。
3.高级主题:BindingSource 的组件结构(优势功能)
基于以下功能,使得BindingSource成为Windows控件绑定到数据源的最佳方式
1)间接寻址
&&& BindingSource 组件在控件与数据源之间提供了一个间接寻址级别。控件不是直接绑定到数据源,而是先将控件绑定到 BindingSource,然后再将数据源附加到该 BindingSource 组件的 DataSource 属性。
因此,提供了以下功能
在保留当前的控件绑定的同时,可以将 BindingSource 附加到不同的数据源。可以更改数据源中的项并通知绑定控件。通过调用ResetBindings方法使所有绑定数据源的控件更新数据源,参数为ResetBindings(true)数据源架构发生改变,参数为ResetBindings(false)仅数据发生改变可以绑定到 Type(通过TypeOf(OneClass)),而不是绑定到内存中的某个对象。这样的话,在调用数据时,系统会自动添加一个新的对象。 实例:
当前项管理
下列为常用方法
CurrencyManager 属性
获取与 BindingSource 关联的货币管理器。
GetRelatedCurrencyManager 方法
GetRelatedCurrencyManager(&&&&&&&&string dataMember)如果还有其他 BindingSource 绑定到指定的数据成员,则获取其货币管理器。
Current 属性
获取数据源的当前项。
Position 属性
获取或设置基础列表中的当前位置。
EndEdit 方法
将挂起的更改应用于基础数据源。
CancelEdit 方法
取消当前的编辑操作
作为列表的数据源
ms-help://MS.MSDNQTR.v90.chs/dv_fxmclictl/html/7bc69c90-8a11-48b1-9336-3adab5b41591.htm
&4)&&&&& 作为 IBindingList 的 BindingSource
BindingSource 组件提供成员,以访问和操作作为 IBindingList 的基础数据。
获取 DataSource 或 DataMember 属性的计算结果的列表。
AddNew 方法
在基础列表中添加一个新项。应用于满足以下两个条件的数据源:实现 IBindingList 接口并允许添加项(即 AllowNew 属性被设置为 true)。
5)&&&& 创建自定义项
&&& 可以处理 AddingNew 事件,以提供自己的项创建逻辑。AddingNew 事件在新对象添加到 BindingSource 之前发生。此事件在调用 AddNew 方法之后、新项目添加到基础列表之前引发。通过处理此事件,您可以提供自定义项创建行为,而无需从 BindingSource 类派生。
6)&&&& 创建事务性项
&&& BindingSource 组件实现 ICancelAddNew 接口,从而启用事务性项的创建。通过调用 AddNew 临时创建一个新项之后,可以采用下列方式提交或回滚该添加项:
EndNew 方法显式提交挂起的新项。执行其他集合操作(如插入、移除或移动)隐式提交挂起的新项。如果尚未提交 CancelNew 方法,则此方法将回滚挂起的新项。
7)&& Ienumerable 支持
&&& BindingSource 组件启用控件到 IEnumerable 数据源的绑定。使用此组件可以绑定到某个数据源,如 System.Data.SqlClient.SqlDataReader。
将 IEnumerable 数据源分配给 BindingSource 组件以后,BindingSource 将创建一个 IBindingList,并将 IEnumerable 数据源的内容添加到列表中。
8)静态 ListBindingHelper 方法
&&& System.Windows.Forms.BindingContext、System.Windows.Forms.CurrencyManager 和 BindingSource 类型共享公共逻辑,以便根据 DataSource/DataMember 对生成列表。此外,将公开此公共逻辑,以供控件作者和其他第三方在下列 static 方法中使用:
GetListItemProperties GetList.GetListName GetListItemType
9)使用 IBindingListView 接口进行排序和筛选
BindingSource 组件实现了 IBindingListView 接口,从而扩展了 IBindingList 接口。IBindingList 提供单个列排序,而 IBindingListView 提供高级排序和筛选。如果数据源也实现这些接口中的一个,则您可以使用 IBindingListView 对数据源中的项进行排序和筛选。BindingSource 组件不提供这些成员的引用实现,而是将调用转发给基础列表。
下表描述用于排序和筛选的属性。
Filter 属性
如果数据源是 IBindingListView,则获取或设置用于筛选要查看的行的表达式。
如果数据源为 IBindingList,则获取或设置用于排序和排序顺序信息的列名。
如果数据源为 IBindingListView 并且支持高级排序,则获取用于排序和排序顺序的多个列名。
四.WinForm控件:Button控件
&&&& Button允许通过单击来执行操作,其可以显示文本和图片,被单击时有按下效果。
2.常用操作:
&&& 1)某Button具有焦点时,可以通过单击和Enter来触发事件
&&& 2)ShowDialog显示一个窗体时,可以使用按钮的DialogResult属性指定ShowDialog的返回值。
&&& 3)设置 DialogResult 属性将引起对话框自动关闭,但仍可处理控件的 Click 事件,而且对话框在事件处理程序的代码完成后立即关闭。
&&& 4)阻止窗口关闭:可以在Closing中设置DialogResult的值为None
五.WinForm控件:CheckBox控件
&&& 用于指示某条件是打开还是关闭的。可以成组使用CheckBox来构成复选框,可以从中选择一个或多个
2.常用操作
&&& 1)Checked属性:返回True 或False
&&& 2)CheckState属性:返回Checked或Unchecked,当ThreeStatus选中时,可以返回Indeterminate(不确定状态,并变灰)
六.WinForm控件:CheckedListBox控件
&&& 与ListBox类似,但每一项都有一个CheckBox选项框,可以使用Items属性。
2.常用操作:
1.Items常用操作:
ObjectCollection.Items.Add("Tokyo");
ObjectCollection.Items.Insert(0, "Copenhagen");
Object[] ItemObject = new Object[10];for (int i = 0; i &= 9; i++){ItemObject[i] = "Item" +}listBox1.Items.AddRange(ItemObject);
comboBox1.Items.RemoveAt(0);
comboBox1.Items.Remove(comboBox1.SelectedItem)
comboBox1.Items.Remove("Tokyo");
listBox1.Items.Clear();
七.WinForm控件:ColorDialog 组件
&预先配置的一个对话框,可以从中选择出要选择的颜色。
2.常用操作
1.Color属性返回选择的颜色
2.AllowFullOpen为False时,禁止自定义颜色
3.SolidColorOnly控制是否纯色。
4.调用对话框,调用ShowDialog方法
5.ShowHelp为True时,点击窗口上的帮助会引发HelpRequest事件。
八.WinForm控件:ComboBox组件
&&& 在下拉式组合框中显示一项数据。顶部为允许键入的列表框,右侧有一个选择列表框。
2.常见操作:
&&& 1.SelectedIndex可以设置或者返回所选定的项,未选中项时为-1,第一项为0.
&2.SelectedItem 属性返回项本身
&&& 3.Count属性 返回项数
&&& 4.Items属性操作见&CheckListBox控件-&常见操作-&Items常见操作
方法:再一次次添加时使用这个可以维持性能。
&&& 6.在列表中搜索包含特定搜索字符串的项:FingString:查找
中以指定字符串开始的第一个项
&&&&&&&&&&&&& :查找与指定字符串完全匹配的项。
九.WinForm控件:ContextMenu 组件(已过时,因向后兼容而保留)
右键快捷菜单的子项
2.常见操作
十.WinForm控件:ContextMenuStrip 控件
ContextMenuStrip 控件提供了与某个控件关联的快捷菜单。
2.常见操作:
1.ContextMenuStrip重要的伴随类
ToolStripMenuItem
表示显示在 MenuStrip 或 ContextMenuStrip 中的一个可选选项。
ToolStripDropDown
表示使用户能从列表中选择单个项的控件,该列表在用户单击 ToolStripDropDownButton 或更高级菜单项时显示。
ToolStripDropDownItem
为派生自 ToolStripItem 的控件提供基本功能,单击这些控件会显示下拉项。
2. 将 ContextMenuStrip 与控件关联
将控件或窗体的ContextMenuStrip设为ContextMenuStrip的名称
3.向 ContextMenuStrip 添加菜单项
一次只能向 ContextMenuStrip 添加一个或几个菜单项。
this.contextMenuStrip1.Items.Add(toolStripMenuItem1);
this.contextMenuStrip1.Items.AddRange(new
System.Windows.Forms.ToolStripItem[] {&&&&& this.toolStripMenuItem1, this.toolStripMenuItem2});
十一.WinForm控件:DataGrid控件(已过时,为向后兼容而保留)
十二.WinForm控件:DataGridView 控件
显示和编辑表格数据提供了灵活、可扩展的系统,可以显示和编辑来自多种不同类型的数据源的表格数据。
2.常见操作
1.绑定数据:
设置DataSource到数据源,DataMember到绑定的表(多的表的话)即可
该控件支持Windows窗口绑定类型,所以支持以下类型:
实现IList接口的类
实现IListSource接口的类
DataTable,DataSet
实现IBindingList接口的类
BindingList&T&
实现IBindingListView接口的类
BindingSource
2.默认功能
MDSN it&Windows 窗体 DataGridView 控件中的默认功能
ms-help://MS.MSDNQTR.v90.chs/dv_fxmclictl/html/-cad1-4839-9bcd-8ddb09d9f00e.htm
3.高级主题:DataGridView 控件结构
主要的 DataGridView 伴生类从 DataGridViewElement 派生,详细继承关系:
DataGridViewElement 对象模型
1)DataGridViewElement
获取与此元素关联的
获取元素的用户界面 (UI) 状态。
State为一个DataGridViewElementStates 枚举(可通过按位与操作符选中多个状态)
指示元素处于它的默认状态。
指示元素当前显示在屏幕上。
指示不能通过 UI 滚动元素。
指示元素不会接受用户输入来更改它的值。
指示可以通过 UI 来调整元素大小。除非该值与 ResizableSet 值结合,否则会忽略该值。
ResizableSet
指示元素没有继承其父级的大小可调状态。
指示元素处于选定的(突出显示的)UI 状态。
指示元素可见(可显示)。
2)DataGridViewCell常用属性
DataGridViewCell为单元格最基本单位,通过使用 DataGridViewRow 类的 Cells,SelectedCells 集合可以访问单元格
常用属性:
获取此单元格的列索引。
获取环绕单元格内容区域的边框。
获取或设置与单元格关联的快捷菜单。
获取新记录所在行中单元格的默认值。
获取一个值,该值指示当前该单元格是否显示在屏幕上。
获取为显示进行格式化的单元格的值。
获取与该单元格关联的格式化值的类型。
获取指示单元格是否已被冻结的值。
获取指示是否已设置
属性的值。
获取该单元格从它的行和列的状态继承后的当前状态。
获取当前应用于单元格的样式。
获取一个值,该值指示此单元格当前是否处于编辑状态。
获取包含此单元格的列。
获取包含此单元格的行。
获取适合该单元格的矩形区域的大小(以像素为单位)。
获取或设置一个值,该值表示是否可以编辑该单元格的数据。
获取单元格父行的索引。
获取或设置一个值,该值指示是否已选定该单元格。
获取单元格的大小。
获取或设置单元格的样式。
获取或设置与此单元格关联的 ToolTip 文本。
获取或设置与此单元格关联的值。
获取或设置单元格中值的数据类型。
获取一个值,该值指示单元格是否位于已隐藏的行或列中。
3)DataGridViewBand常用属性
获取或设置带区的快捷菜单。
获取或设置带区的默认单元格样式。
获取或设置默认标题单元格的运行时类型。
获取一个值,该值指示带区当前是否显示在屏幕上。
获取或设置一个值,该值指示当用户滚动
时带区是否移动。
获取一个值,该值指示是否已设置
获取或设置
的标题单元格。
获取带区在
控件中的相对位置。
获取对于当前带区有效的单元格样式(考虑样式继承)。
获取一个值,该值指示带区是否表示一个行。
获取或设置一个值,该值指示用户是否可以编辑带区的单元格。
获取或设置一个值,该值指示是否可以在用户界面 (UI) 中调整带区的大小。
获取或设置一个值,该值指示带区是否为被选定。
获取或设置一个值,该值指示带区对于用户是否可见。
4)DataGridViewColumn
1.DataGridViewColumn类表示
控件中的逻辑列。可以通过控件的
集合来检索列
&可以使用 Columns,SelectedColumns 集合访问 DataGridView 控件的列
DataGridViewColumn 对象模型
2.DataGridViewColumn 主要用于调整列用户界面 (UI) 的外观和行为,如列宽和单元格样式
3.常用属性
获取或设置模式,通过此模式列可以自动调整其宽度。
获取或设置用于创建新单元格的模板。
获取单元格模板的运行时类型。
获取或设置数据源属性的名称或与
绑定的数据库列的名称。
相对于当前所显示各列,获取或设置列的显示顺序。
获取或设置列分隔符的宽度(以像素为单位)。
获取或设置一个值,表示当该列处于填充模式时,相对于控件中处于填充模式的其他列的宽度。
获取或设置表示列标题的 。
获取或设置
的标题单元格。 (继承自 。)
获取或设置列标题单元格的标题文本。
获取对该列有效的缩放模式。
获取一个值,指示该列是否绑定到某个数据源。
获取或设置列的最小宽度(以像素为单位)。
获取或设置列名称。
获取或设置列的站点。
获取或设置列的排序模式。
获取或设置用于工具提示的文本。
获取或设置列单元格中值的数据类型。
获取或设置列的当前宽度。
5)DataGridRows
1.DataGridViewRow 对象模型
2.常见成员:
获取用于填充行的单元格集合。
获取或设置行的快捷菜单。 (重写 .。)
获取用于填充行的数据绑定对象。
获取或设置行分隔符的高度(以像素为单位)。
获取或设置行级别错误的错误消息文本。
获取或设置行的标头单元格。
获取或设置行的当前高度。
获取一个指示行是否为用于新纪录的行的值。
获取或设置行的最小高度。
DataGridViewRow 类表示
控件中的行。可以通过控件的
集合检索行。
不同的是,DataGridViewRow 实际上包含该行中的所有单元格的集合。可以通过
属性访问此集合。
DataGridViewRow 类可用来访问单个的单元格元素,还可以用来调整行 UI 的外观和行为,例如高度和单元格样式。通常,您会希望控件中的所有行或大多数行共享相同的特性。若要为控件中的所有行设置单元格样式,请设置由
属性返回的对象的属性。若要设置交替行的样式,请使用
属性,也可以使用
属性来定义将作为添加到控件的所有行的基础的行。
DataGridView 控件的AllowUserToAddRows 属性,则将会在最后一行显示一个用于添加新行的特殊行。
4.在 Windows 窗体 DataGridView 控件中使用新记录行:
1)显示新记录行:
控件的 AllowUserToAddRows 属性和数据源的 IBindingList.AllowNew 属性均为 true,则将显示新记录行。
2)用默认数据填充新记录行:
当用户选择新记录行作为当前行时,DataGridView 控件引发 DefaultValuesNeeded 事件,此事件提供对新 DataGridViewRow 的访问。
新记录行包含在 DataGridView 控件的 Rows 集合中,但在两个方面具有不同的行为:
1.不能以编程方式将新记录行从 Rows 集合中移除。
2.不能在新记录行之后添加任何行,新记录行总是 DataGridView 控件中的最后一行&&& DataGridViewRowCollection 中添加行的方法(Add、AddCopy 和 AddCopies)都在内部调用插入方法。
4)新记录行的视觉自定义
1.创建新记录行时,新记录行基于由 RowTemplate 属性指定的行.
2.新记录行中的单元格显示的初始值是从每个单元格的 DefaultNewRowValue 属性检索得到的。对于类 型为 DataGridViewImageCell 的单元格,此属性返回一个占位符图像。对于其他类型的单元格,此属性返回 null。可以重写此属性以返回自定义值。但是,当焦点进入新记录行时,这些初始值可以被 DefaultValuesNeeded 事件处理程序替换。
4.高级主题:DataGridView 较 DataGrid 的技术优势
1.下表描述 DataGridView 控件中提供而 DataGrid 控件中未提供的几个主要功能:
DataGridView 功能
多种列类型
与 DataGrid 控件相比,DataGridView 控件提供了更多的内置列类型。这些列类型能满足大多数常见方案的需要,而且比 DataGrid 控件中的列类型更容易扩展或替换。有关更多信息,请参见 。
多种数据显示方式
DataGrid 控件仅限于显示外部数据源的数据。而 DataGridView 控件可显示存储在控件中的未绑定数据、来自绑定数据源的数据或者同时显示绑定数据和未绑定数据。也可以在 DataGridView 控件中实现虚拟模式以提供自定义数据管理。有关更多信息,请参见 。
用于自定义数据显示的多种方式
DataGridView 控件提供了许多属性和事件,您可以使用它们指定数据的格式设置方式和显示方式。例如,您可以根据单元格、行和列中包含的数据更改其外观,或者将一种数据类型的数据替换为另一种类型的等效数据。有关更多信息,请参见 。
用于更改单元格、行、列、标头外观和行为的多个选项
DataGridView 控件使您能够以多种方式使用各个网格组件。例如,您可以冻结行和列以阻止其滚动;隐藏行、列和标头;更改调整行、列和标头大小的方式;更改用户进行选择的方式;以及为各个单元格、行和列提供工具提示和快捷菜单。
2.多种列类型(DataGridView 控件中的列类型)
1.AutoGenerateColumns为 true 时,会自动与数据源的包含数据类型相应的默认列类型生成列
2.可以再Column集合中管理列
3.在 DataGridView 控件中使用的各种列类:
DataGridViewTextBoxColumn
与基于文本的值一起使用。在绑定到数字和字符串时自动生成。
DataGridViewCheckBoxColumn
与 Boolean 和 CheckState 值一起使用。在绑定到这些类型的值时自动生成。
DataGridViewImageColumn
用于显示图像。在绑定到字节数组、Image 对象或 Icon 对象时自动生成。
DataGridViewButtonColumn
用于在单元格中显示按钮。不会在绑定时自动生成。通常用作未绑定列。
DataGridViewComboBoxColumn
用于在单元格中显示下拉列表。不会在绑定时自动生成。通常手动进行数据绑定。
DataGridViewLinkColumn
用于在单元格中显示链接。不会在绑定时自动生成。通常手动进行数据绑定。
自定义列类型
您可以通过继承 DataGridViewColumn 类或该类的任何一个派生类来创建自己的列类,从而提供自定义的外观、行为或寄宿控件
4.DataGridViewTextBoxColumn :
单元格值会自动转换为字符串以供显示,通过处理 DataGridView 控件的 CellFormatting 和 CellParsing 事件自定义这些转换。
5.高级主题:DataGridView中的自定义单元格样式
1.DataGridViewCellStyle 类
DataGridViewCellStyle 类包含与视觉样式相关的下列属性:
BackColor 和 ForeColorSelectionBackColor 和 SelectionForeColorFont
此类还包含与格式设置相关的下列属性:
Format 和 FormatProviderNullValue 和 DataSourceNullValueWrapMode Alignment Padding
MSDN it:DataGridViewCellStyle
2.使用 DataGridViewCellStyle 对象
调用 &DataGridView、DataGridViewColumn、DataGridViewRow 和 DataGridViewCell的 DataGridViewCellStyle 属性。如果这些属性中有一个尚未设置,则检索该属性的值将新建 DataGridViewCellStyle 对象。您还可以实例化自己的 DataGridViewCellStyle 对象,并将这些对象分配给以上属性。
在多个 DataGridView 元素间共享 DataGridViewCellStyle 对象可以避免不必要地重复样式信息。由于在控件、列和行三个级别设置的样式从每个级别向下筛选直到单元格级别,因此,在每个级别上仅设置与其上面的级别不同的那些样式属性,也可以避免样式重复。
如上所述,如果以前没有设置过样式属性,则获取样式属性值将自动实例化新的 DataGridViewCellStyle 对象。为了避免不必要地创建这些对象,行类和列类具有 HasDefaultCellStyle 属性,您可以检查该属性以确定是否设置了 DefaultCellStyle 属性。同样,单元格类具有 HasStyle 属性,该属性指示是否设置了 Style 属性。
3.主要属性
DefaultCellStyle
DataGridView、DataGridViewColumn、 DataGridViewRow 和派生类
获取或设置整个控件(包括标头单元格)、一列或一行中所有单元格使用的默认样式。
RowsDefaultCellStyle
DataGridView
获取或设置控件中所有行使用的默认单元格样式。不包括标头单元格。
AlternatingRowsDefaultCellStyle
DataGridView
获取或设置控件中交替行使用的默认单元格样式。用于创建帐目型的效果。
RowHeadersDefaultCellStyle
DataGridView
获取或设置控件的行标头使用的默认单元格样式。如果启用视觉样式,则用当前主题进行重写。
ColumnHeadersDefaultCellStyle
DataGridView
获取或设置控件的列标头使用的默认单元格样式。如果启用视觉样式,则用当前主题进行重写。
DataGridViewCell 和派生类
获取或设置在单元格级别指定的样式。这些样式将重写那些从较高级别继承的样式。
InheritedStyle
DataGridViewCell、DataGridViewRow、DataGridViewColumn 和派生类
获取当前应用于单元格、行或列的所有样式,包括从较高级别继承的样式。
4.样式继承
每个 DataGridViewCell 从其 InheritedStyle 属性获取外观。此属性返回的 DataGridViewCellStyle 对象从类型 DataGridViewCellStyle 的属性层次结构继承其属性值。下面按非标头单元格的 InheritedStyle 获取其值的顺序列出这些属性。
DataGridViewCell.Style DataGridViewRow.DefaultCellStyle DataGridView.AlternatingRowsDefaultCellStyle(仅限于索引号为奇数的行中的单元格)DataGridView.RowsDefaultCellStyle DataGridViewColumn.DefaultCellStyle DataGridView.DefaultCellStyle
对于行和列标头单元格,用以下列表中的值填充 InheritedStyle 属性,该列表列出给定顺序的源属性。
DataGridViewCell.Style DataGridView.ColumnHeadersDefaultCellStyle 或 DataGridView.RowHeadersDefaultCellStyleDataGridView.DefaultCellStyle
下图阐释此过程。
还可以访问由特定的行和列继承的样式。列 InheritedStyle 属性从下列属性继承其属性值。
DataGridViewColumn.DefaultCellStyle DataGridView.DefaultCellStyle
行 InheritedStyle 属性从下列属性继承其属性值。
DataGridViewRow.DefaultCellStyle DataGridView.AlternatingRowsDefaultCellStyle(仅限于索引号为奇数的行中的单元格)DataGridView.RowsDefaultCellStyle DataGridView.DefaultCellStyle
对于 InheritedStyle 属性返回的 DataGridViewCellStyle 对象中的每个属性,均从相应列表中的第一个单元格样式获得其属性值,该列表中对应的属性被设置为 DataGridViewCellStyle 类默认值以外的值。
4.高级自定义:
DataGridView 控件提供了多种用于自定义该控件的外观和行为的方法。
方案关键点
您可以提供自己的单元格绘制代码。有关更多信息,请参见 。您可以提供自己的行绘制方式。这一功能非常有用,例如创建内容跨越多个列的行时。有关更多信息,请参见 。您可以实现自己的单元格类和列类以自定义单元格的外观。有关更多信息,请参见 。您可以实现自己的单元格类和列类(不使用内置的列类型所提供的类)来承载控件。有关更多信息,请参见 。
5.自动调整行和列的大小
方案关键点
手动调整大小允许用户调整单元格的高度和宽度。
自动调整大小允许您维护单元格的大小,以便永远不用剪裁单元格的内容。
以编程方式调整大小允许您在特定的时间调整单元格的大小,以避免连续调整大小对性能的影响。
参见MSDN:DataGridView 控件中的大小调整选项
ms-help://MS.MSDNQTR.v90.chs/dv_fxmclictl/html/ad06-41e3-8934-c25ddb16c9e6.htm
6.高级主题:DataGridView性能优化
1)使用虚拟模式:见高级主题:DataGridView 控件方案
虚拟模式即为 实时加载,用于加载大容量的表。检索显示所需的数据,而且只在用户将新行滚动到视图中时才检索额外的数据,从而在数据库检索值的时候就丢弃无用的值
&&&&&&&& 背景知识:
1.DataGridView.CellValueNeeded 事件:当
属性为 true,并且 &&&& 只有在单元格中有值的情况下触发。
代码实现:
参见MSDN:在 Windows 窗体 DataGridView 控件中实现实时数据加载的虚拟模式
ms-help://MS.MSDNQTR.v90.chs/dv_fxmclictl/html/c2a052b9-423c-4ff7-91dc-d8c7c79345f6.htm
涉及特性的,尽量只在FataGridView层次上
有效使用单元格样式有效使用快捷菜单有效使用自动大小调整
在具有大型行集的 DataGridView 控件上,避免使用自动大小调整。
有效使用选定单元格、行和列的集合
使用 GetCellCount 方法并传入值而避免County属性避免基于单元格的选择模式。应将 DataGridView.SelectionMode 属性设置为 DataGridViewSelectionMode.FullRowSelect 或 DataGridViewSelectionMode.FullColumnSelect。
使用共享行防止行成为非共享行
阅读(...) 评论()

我要回帖

更多关于 winform chart控件 的文章

 

随机推荐