许多 Windows 窗体控件(例如,ListView 和 TreeView 控件)实现了 BeginUpdate 和EndUpdate 方法,它们在操纵基础数据或控件属性时取消了控件的重新绘制。通过使用BeginUpdate 和 EndUpdate 方法,您可以对控件进行重大更改,并且避免在应用这些更改时让控件经常重新绘制自身。此类重新绘制会导致性能显著降低,并且用户界面闪烁且不反应。例如,如果您的应用程序具有一个要求添加大量节点项的树控件,则您应该调用 BeginUpdate,添加所有必需的节点项,然后调用 EndUpdate。下面的代码示例显示了一个树控件,该控件用于显示许多个客户的层次结构表示形式及其定单信息。 // Suppress repainting the TreeView until all the objects have been created. TreeView1.BeginUpdate(); // Clear the TreeView. TreeView1.Nodes.Clear(); // Add a root TreeNode for each Customer object in the ArrayList. foreach( Customer customer2 in customerArray ) TreeView1.Nodes.Add( new TreeNode( customer2.CustomerName ) ); // Add a child TreeNode for each Order object in the current Customer. foreach( Order order1 in customer2.CustomerOrders ) TreeView1.Nodes[ customerArray.IndexOf(customer2) ].Nodes.Add( new TreeNode( customer2.CustomerName + "." + order1.OrderID ) ); // Begin repainting the TreeView. TreeView1.EndUpdate(); [Visual Basic .NET] ' Suppress repainting the TreeView until all the objects have been created. TreeView1.BeginUpdate() ' Clear the TreeView TreeView1.Nodes.Clear() ' Add a root TreeNode for each Customer object in the ArrayList For Each customer2 As Customer In customerArray TreeView1.Nodes.Add(New TreeNode(customer2.CustomerName)) ' Add a child TreeNode for each Order object in the current Customer. For Each order1 As Order In customer2.CustomerOrders TreeView1.Nodes(Array.IndexOf(customerArray, customer2)).Nodes.Add( _ New TreeNode(customer2.CustomerName & "." & order1.OrderID)) ' Begin repainting the TreeView. TreeView1.EndUpdate() 即使在您不希望向控件添加许多对象时,您也应该使用 BeginUpdate 和 EndUpdate 方法。在大多数情况下,您在运行之前将不知道要添加的项的确切个数。因此,为了妥善处理大量数据以及应付将来的要求,您应该总是调用 BeginUpdate 和 EndUpdate 方法。注调用 Windows 窗体控件使用的许多 Collection 类的 AddRange 方法时,将自动为您调用 BeginUpdate 和 EndUpdate 方法。 许多 Windows 窗体控件(例如,ListView 和 TreeView 控件)实现了 BeginUpdate 和EndUpdate 方法,它们在操纵基础数据或控件属性时取消了控件的重新绘制。通过使用BeginUpdate 和 EndUpdate 方法,您可以对控件进行重大更改,并且避免在应用这些更改时让控件经常重新绘制自身。此类重新绘制会导致性能显著降低,并且用户界面闪烁且不反应。例如,如果
摘要: Delphi 源码,数据库应用,数据库更新 一个 Delphi 例子,配合Access数据库实现 Delphi 的UPDATA数据更新实例,其实是演示如何使用SQL的 Update 语句,是一个数据库范畴的例子, Delphi 高手请跳过,新手可下载源码学习。 运行环境: Delphi +Access
这几天一直研究 Delphi 连接.net的socket程序,终于有一些进展。需求:服务端截取前4个字节,转换为数字,次数字为业务代码。将决定调用哪个业务逻辑。using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net.Sockets; using System
许多Windows 窗体控件(例如,ListView 和 TreeView 控件)实现了 Be gin Update End Update 方法,至于为何要这样用简单说明一下。 当我们向一个Listview控件 添加一组Item的时候,第一种方式就是把Item全部放到一个集合里,一次性加到listview ,另一种方式就是用循环的方法一次加一个Item进去。我们要说的就是这第二种方式。 如果一个元件希望放到IDE的元件面板上,它必须从___TComponent____类派生, 如果一个元件能作为其它元件的容器,它必须从_____TWinControl______类派生, 如果一个元件在运行时可见,它必须从________TGraphicControl_______类派生...
System.Collections命名空间包含可使用的集合类和相关的接口。该命名空间下的.NET非泛型集合类如下所示。 — System.Collections.ArrayList:数组集合类 — System.Collections.BitArray:布尔集合类 — System.Collections.Queue:队列 — Sy... 最开始学习数据结构的时候,链表,堆栈,队列,数组,似乎只是一堆概念,随着使用 慢慢接触,其对应的模型,功能,一个个跃到眼前,变成了复杂模型数据处理 的最重要的部分。---By Murphy 20180424 Delphi 的列表有很多,从数据结构上可以分作:TList(数据链),TQueue(队列),TStack(堆栈),TDictionary(字典表)等等;...
UITableView有两个方法,用于单元格动画变化的方法,be gin Update end Update ,这两个方法使用时需要注意。如果使用不当,会造成crash 在了解使用注意事项之前,我们先看官方文档的描述。 Call this method if you want subsequent insertions, deletion, and selection operations (for
hero♞: when CHARINDEX ('-' , ISNULL(a.Depart,''))-1 >0 then CHARINDEX ('-' , ISNULL(a.Depart,''))-1 when CHARINDEX ('-' , ISNULL(a.Depart,''))-1 <=0 then LEN(ISNULL(a.Depart,'')) Delphi中对Gzip解压代码 NetG: 第三方控件ZlibEX控件,没找到呢? Delphi获取汉字的拼音函数 NetG: 只能获取汉子的首字母?不是全拼? 谈Delphi中SSL协议的应用 DELPHI的资深粉丝: 你好,源码好像下不了了,最近想用DIOCP做HTTPS服务器,想了解一下SSL的开发?可以传一下这源码吗?