如何提高VBA代码的运行速度
VBA编程中遇到的性能瓶颈和解决方法分析

VBA编程中遇到的性能瓶颈和解决方法分析在VBA编程中,我们经常会遇到性能瓶颈,即程序运行速度变慢或出现卡顿现象。
这往往是由于代码不够优化或处理大量数据所导致的。
在本文中,我们将探讨一些常见的性能瓶颈,并提供一些解决方法,以帮助您提高VBA编程的效率。
1. 循环结构的优化在VBA编程中,循环结构是最常用的代码结构之一。
然而,当处理大量数据或重复操作时,循环结构可能导致程序运行缓慢。
为了优化循环结构,我们可以采取以下措施:- 尽量减少循环次数:在编写循环结构前,仔细分析代码逻辑,确保循环次数最小化。
例如,可以使用选择性退出循环的条件,以提前结束循环。
- 使用合适的循环结构:在VBA中,有多种循环结构可供选择,如For循环、Do循环等。
根据具体情况选择最适合的循环结构可以提高程序的效率。
2. 变量类型的选择在VBA编程中,变量类型的选择对程序的性能有很大影响。
通常,我们可以使用以下几种变量类型来优化程序的执行速度:- 整数型(Integer):对于需要存储整数的变量,尽量使用整数型。
整数型的取值范围较小,但其计算速度较快,适用于循环计数等场景。
- 长整型(Long):如果整数型的取值范围不够大,可以使用长整型来存储更大范围的整数。
- 双精度型(Double):对于需要进行浮点数运算的变量,可以使用双精度型。
双精度型的计算速度可能比整数型慢一些,但其取值范围更大,能够处理更精确的浮点数。
3. 避免使用可视化操作当涉及到对Excel或其他应用程序进行可视化操作时,可能会导致性能下降。
例如,如果在VBA中频繁操作工作表、单元格格式等,程序往往会变得缓慢。
为了提高性能,我们可以采取以下措施:- 关闭屏幕刷新:在代码中使用 `Application.ScreenUpdating = False`,可以关闭屏幕刷新功能,以减少对Excel的可视化操作。
- 批量操作:如果需要频繁修改单元格格式等操作,可以尽量使用批量操作,而不是逐个操作单元格。
VBA优化代码执行速度的实用技巧和方法

VBA优化代码执行速度的实用技巧和方法VBA(Visual Basic for Applications)是一种宏语言,常用于编写和执行Microsoft Office程序中的自动化任务。
尽管VBA是一种强大而且易于学习的语言,但在处理大规模数据或复杂的操作时,代码执行速度可能会变慢。
在本文中,将探讨一些实用的技巧和方法,以提高VBA代码的执行速度。
1. 使用变量代替对象引用在VBA中,对象的调用和操作相对较慢。
因此,当我们需要多次引用一个对象时,最好将其赋值给一个变量,并使用该变量进行操作。
例如,考虑以下代码片段:```For i = 1 To 10000Worksheets("Sheet1").Cells(i, 1).Value = iNext i```在这个循环中,我们每次都需要引用`Worksheets("Sheet1").Cells(i, 1)`,这可能会导致较慢的执行速度。
我们可以通过将其赋值给一个变量,并使用变量来加速代码执行,如下所示:```Dim ws As WorksheetSet ws = Worksheets("Sheet1")For i = 1 To 10000ws.Cells(i, 1).Value = iNext i```2. 使用数组进行数据处理在处理大量数据时,使用数组可以比使用单元格引用更快。
可以将数据加载到数组中进行操作,然后再将结果一次性写回工作表。
以下是一个使用数组进行大量数据处理的示例:```Dim dataArr() As VariantDim resultArr() As VariantDim i As LongdataArr = Worksheets("Sheet1").Range("A1:A10000").ValueReDim resultArr(1 To 10000, 1 To 1)For i = 1 To UBound(dataArr, 1)resultArr(i, 1) = dataArr(i, 1) * 2Next iWorksheets("Sheet1").Range("B1:B10000").Value = resultArr```通过将数据加载到数组`dataArr`中,我们可以在内存中进行快速处理,并将结果存储在数组`resultArr`中,最后一次性写回工作表。
VBA优化宏代码执行效率的实用技巧

VBA优化宏代码执行效率的实用技巧VBA(Visual Basic for Applications)是一种用于Microsoft Office套件中自动化任务的编程语言。
在处理大量数据和执行复杂操作时,VBA宏代码的执行效率可能成为一个问题。
优化宏代码的执行效率可以提高其运行速度,减少等待时间,提升工作效率。
本文将介绍一些实用的技巧,帮助您优化VBA宏代码的执行效率。
1. 使用变量在编写宏代码时,尽量使用变量来存储和操作数据。
在循环过程中,避免反复调用和操作对象属性,而是将其保存在变量中,这样可以减少访问对象的次数,从而提高执行效率。
另外,在编写循环代码时,将循环的上限保存为一个变量,避免在每次迭代中重新计算。
2. 减少计算次数在编写宏代码时,要避免不必要的计算,尽量减少执行次数。
例如,在处理大量数据时,可以通过将数据加载到数组中,并在数组中进行操作,而不是每次循环都去读取和写入工作表。
此外,在进行复杂计算时,可以使用Excel内置的函数和方法,而不是通过宏代码来实现,因为内置函数和方法通常比宏代码运行得更快。
3. 禁用屏幕更新和事件在宏代码执行期间,禁用屏幕更新和事件可以显著提高执行速度。
通过将Application.ScreenUpdating和Application.EnableEvents 设置为False,可以在执行期间阻止屏幕刷新和事件触发,从而加快代码的执行。
完成宏代码后,别忘了将这些设置还原为True,以确保Excel正常显示并能响应用户的操作。
4. 避免冗余代码冗余代码指的是在宏代码中重复执行的代码。
避免使用相同的代码块多次出现,可以将这些代码块封装成一个独立的过程或函数,并在需要时调用,提高代码的复用性和可维护性。
此外,在进行条件判断时,应尽量避免使用多层嵌套的If语句,可以使用Select Case语句来替代,使代码更加简洁和易读。
5. 合理使用错误处理错误处理是一个重要的方面,它可以避免宏代码在发生错误时中断执行,提高代码的稳定性。
提高VBA编程效率的十大技巧与工具分享

提高VBA编程效率的十大技巧与工具分享在进行VBA编程时,提高效率是每位开发人员都追求的目标。
随着项目的不断增长和复杂性的提升,提高编程效率变得尤为重要。
本文将分享十大技巧和工具,帮助您提高VBA编程效率,更高效地完成任务。
1. 使用自动完成功能:VBA的自动完成功能可以帮助您在编写代码时快速输入关键词、属性和方法。
通过按下“Ctrl + 空格”组合键,您将看到可用的选项列表。
这样可以节省时间并减少拼写错误。
2. 学习并使用快捷键:了解并使用VBA编辑器中的快捷键,可以提高编程速度。
例如,“Ctrl+ S”可保存代码,“Ctrl + F”可查找指定文本,“Ctrl + G”可跳转到指定行等。
通过使用这些快捷键,可以快速进行编辑和导航。
3. 使用宏录制器:如果您需要多次执行相似的任务,宏录制器是一个强大的工具。
通过录制和播放宏,您可以自动执行重复性的操作,从而提高效率。
只需录制一次,并以后重复使用,无需手动编写相同的代码。
4. 分解代码为函数和子程序:将代码分解为小的、可重用的函数和子程序,可以提高代码的可读性和维护性。
这样,您可以在不同的任务中重复使用这些函数和子程序,从而提高效率。
5. 使用注释:在代码中加入注释有助于其他开发人员理解您的逻辑和意图。
正确、清晰的注释可以减少沟通成本,并提高团队协作的效率。
确保注释清晰、简洁,并在需要的地方加以维护。
6. 利用错误处理:在编码过程中,错误可能难以避免。
使用适当的错误处理机制将有助于快速定位和修复错误。
您可以使用“On Error Resume Next”、“On Error GoTo”等语句来处理错误,从而有效地提高调试和修复的效率。
7. 使用调试工具:VBA编辑器提供了一系列的调试工具,如断点、观察窗口、局部窗口等。
这些工具可以帮助您定位和修复程序中的错误。
适当地使用这些调试工具,可以大大减少调试时间。
8. 宏优化:使用一些技巧来优化VBA宏的执行速度。
如何优化VBA代码的执行效率

如何优化VBA代码的执行效率VBA(Visual Basic for Applications)是一种广泛应用于Microsoft Office软件中的宏语言,用于自动化任务和编写自定义函数。
在使用VBA编写代码时,优化执行效率是一个重要的考虑因素,它可以显著改善代码的执行速度并提高工作效率。
本文将介绍一些优化VBA代码执行效率的方法。
1. 使用合适的数据类型VBA提供了多种数据类型供选择,包括整数(Integer)、长整数(Long)、单精度浮点数(Single)、双精度浮点数(Double)、字符串(String)等。
选择合适的数据类型可以节省内存空间并提高代码的执行速度。
如果不需要小数位数的精确计算,可以使用整数或长整数代替浮点数,因为浮点数的计算速度更慢。
同时,避免频繁类型转换,尽量使用相同的数据类型进行计算。
2. 减少访问外部数据的次数在VBA代码中,如果需要访问外部数据,例如从Excel表格中读取数据,尽量减少访问外部数据的次数。
可以将需要的数据一次性读取到数组中,然后在代码中使用数组进行操作,这样可以减少与外部数据源的交互,提高执行效率。
3. 避免使用过于复杂的公式或函数VBA中的公式或函数执行效率相对较低,特别是在循环中多次调用的情况下。
如果可能的话,可以通过编写自定义函数来替代复杂的公式或函数,以提高执行效率。
另外,如果在代码中使用了嵌套循环,请尽量减少嵌套的层级,或者尝试使用其他算法进行优化,以减少执行时间。
4. 合理使用数组和集合使用数组和集合可以提高代码的执行效率。
数组是一种有序的数据结构,可以一次性存储和处理大量数据,而不需要逐个访问。
集合是一种无序的数据结构,可以快速地添加、删除和查找数据。
根据具体的需求,选择合适的数据结构可以提高代码的执行效率。
5. 避免频繁的界面刷新在VBA代码执行过程中,界面的刷新会占用系统资源,导致执行效率下降。
为了提高代码的执行效率,可以在代码开始时禁用屏幕刷新,在代码结束时再启用屏幕刷新。
如何提高VBA代码的运行速度

如何提高代码的运行速度(VB/access Vba)本文描述了如何通过一些技术手段来提高编程代码的执行效率。
这些手段可以分为两个大的部分:编码技术和编译优化技术。
本文从编码技术和编译技术来讨论。
大家发现有好的代码,也请回贴或更新。
第一部分:编码技术。
下面的这些方法(到现在为止共27种)可以帮助你提高代码的运行速度:1. 使用整数(Integer)和长整数(Long)提高代码运行速度最简单的方法莫过于使用正确的数据类型了。
也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。
在大多数情况下,程序员可以将Single,Double和Currency类型的变量替换为Integer或Long类型的变量,因为VB处理Integer和Long的能力远远高于处理其它几种数据类型。
下面是排序:Long 最快Integer .Byte .Single .Double .Currency 最慢在大多数情况下,程序员选择使用Single或Double的原因是因为它们能够保存小数。
但是小数也可以保存在Integer类型的变量中。
例如程序中约定有三位小数,那么只需要将保存在Integer变量中的数值除以1000就可以得到结果。
根据我的经验,使用Integer和Long替代Single,Double和Currency后,代码的运行速度可以提高将近10倍。
2. 避免使用变体对于一个VB程序员来说,这是再明显不过的事情了。
变体类型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。
通常使用变体类型的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。
但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。
在这里顺带提一句,对于Object对象也存在同样的问题。
请看下面的代码:Dim FSOSet FSO = New Scripting.FileSystemObject或Dim FSO as objectSet FSO = New Scripting.FileSystemObject上面的代码由于在申明的时候没有指定数据类型,在赋值时将浪费内存和CPU时间。
简化及提高VBA运行速度的方法

简化及提高VBA运行速度的方法VBA執行的速度很快的,只要你代碼寫的好1.盡量不要選擇任何內容(對象)例:Rows(“1:1”).SelectSelection.Font.Bold =True'改成**************Rows(“1:1”).Font.Bold=True2.使用單行語句進行複制和粘貼例:Range(“E14”).SelectSelection.CopyRange(“F14:G14”).SelectActivesheet.Paste'改成*************Range(“E14”).Copy Destination :=Range(“F14:G14”)3.使用With….. End With語句例:Range(“A14:G14”).SelectSelection.Font.Bold=TrueSelection.Font.Size=12Selection.Font.ColorIndex=5Selection.Font.Undecline=xlUnderlinestyleDoubleAccountin g'改成***********************With Range(“A14:G14”).Font.Bold=True.Size=12.ColorIndex=5.Undecline=xlUnderlinestyleDoubleAccountingEnd With4.將錄製宏產生多餘的代碼(內容前後未變化者)刪除例:將Range(“E6:E11”)設成16粗体字型使用錄製宏可能產生如下代碼'*****************************************************Range("E6:E11").SelectWith Selection.Font.Name = "新細明体".Size = 14.Strikethrough = False.Superscript = False.Subscript = False.OutlineFont = False.Shadow = False.Underline = xlUnderlineStyleNone.ColorIndex = xlAutomaticEnd WithSelection.Font.Bold = True'改成如下即可達到同樣效果***********Range(“E6:E11”).Font.Size=16Range(“E6:E11”).Font t.Bold = True5.使用變量及R1C1表示法編寫Range選取指令或公式例:Range("B1").value2=1Range("B2").value2=2Range("B3").value2=3...Range("B10").value2=10'改成***********For i=1 to 10Cells(i,2).value2=inext6.使用Application.Calculation = xlManual,減少工作表重算時間避免在工作表中設定太多公式(上萬條),能用VBA計算處理則用VBA計算處理,減少工作表重算時間如可能者先將計算方式設成手動再覆製或填寫資料,待有必要時在將其設成自動等方式計算方式設成手動代碼:Application.Calculation = xlManual計算方式設成自動代碼:Application.Calculation = xlSemiautomatic (除運算列表外,自動重算)Application.Calculation = xlAutomatic7.使用Application.ScreenUpdating=false提高运行速度如果写入单元格的操作较多在程序开始时application.ScreenUpdating=False,结束时application.ScreenUpdating=True,也对提高运行速度有帮助。
怎么提高VBA的运行效率

怎么提高VBA的运行效率一、代码"专注"执行1.将Application.ScreenUpdating设定为False,关闭屏幕更新,还原时设定为true2.将Application.EnaleEvents设定为False,禁止触发事件,这个还原时设定为true3.将Application.interactive设定为False,禁止交互模式,4.将Application.Calculation设定为xlCalculationManual,将计算模式设定为手动.当工作簿中有大量公式时,这样的设定提速特别明显,还原时设定为xlCalculationAutomatic.二、单元格(区域)写法的选择单元格(区域)写法有3种,以A1单元格为例,可以使用1.Cell对象写法:cells(1,1)2.Range对象写法:Range("A1")3.名称写法:[A1]三种写法各有优缺点,但以取值速度论,cells(1,1)最快,[A1]写法最慢,Range("A1")比cells(1,1)稍慢,但优点是在VBE中输入可以显示属性方法等快速输入信息.此外,要明示对象属性而不要依赖于对象的默认属性,这是一种好的编程习惯.下面两句,第二句要比第一句快得多:x= cells(1,1)x= cells(1,1).value三、比较语句1.分解IF语句如:IF A THENIF B THEN优于IF A AND B THEN与IF A THEN...ELSE IF B THEN优于IF A OR B then2.并列的条件使用elseif或select,elseif写起来麻烦,但速度优于select3.将最可能的条件及容易计算的条件放在前面上面分解后的A应当比B出现的机会更大,或者需要进行计算更容易计算出结果,select语句放在前面的case也应这样4.Iif速度慢于if/else四、循环语句1.For 语句快于DO/WHILE,这是因为FOR语句的增量部分是VBA自带的,特别是步长为1的更明显2.For/each快于for/to五、使用With语句with语句不仅仅是简化了写法,速度也大大提升了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何提高代码的运行速度(VB/access Vba)本文描述了如何通过一些技术手段来提高编程代码的执行效率。
这些手段可以分为两个大的部分:编码技术和编译优化技术。
本文从编码技术和编译技术来讨论。
大家发现有好的代码,也请回贴或更新。
第一部分:编码技术。
下面的这些方法(到现在为止共27种)可以帮助你提高代码的运行速度:1. 使用整数(Integer)和长整数(Long)提高代码运行速度最简单的方法莫过于使用正确的数据类型了。
也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。
在大多数情况下,程序员可以将Single,Double和Currency类型的变量替换为Integer或Long类型的变量,因为VB处理Integer和Long的能力远远高于处理其它几种数据类型。
下面是排序:Long 最快Integer .Byte .Single .Double .Currency 最慢在大多数情况下,程序员选择使用Single或Double的原因是因为它们能够保存小数。
但是小数也可以保存在Integer类型的变量中。
例如程序中约定有三位小数,那么只需要将保存在Integer变量中的数值除以1000就可以得到结果。
根据我的经验,使用Integer和Long替代Single,Double和Currency后,代码的运行速度可以提高将近10倍。
2. 避免使用变体对于一个VB程序员来说,这是再明显不过的事情了。
变体类型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。
通常使用变体类型的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。
但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。
在这里顺带提一句,对于Object对象也存在同样的问题。
请看下面的代码:Dim FSOSet FSO = New Scripting.FileSystemObject或Dim FSO as objectSet FSO = New Scripting.FileSystemObject上面的代码由于在申明的时候没有指定数据类型,在赋值时将浪费内存和CPU时间。
正确的代码应该象下面这样:Dim FSO as New FileSystemObject3. 尽量避免使用属性在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属性(Property),尤其是在循环中。
要知道存取变量的速度是存取属性的速度的20倍左右。
下面这段代码是很多程序员在程序中会使用到的:Dim intCon as IntegerFor intCon = 0 to Ubound(SomVar())Text1.Text = Text1.Text & vbcrlf & SomeVar(intCon)Next intCon下面这段代码的执行速度是上面代码的20倍。
Dim intCon as IntegerDim sOutput as StringFor intCon = 0 to Ubound(SomeVar())sOutput = sOutput & vbCrlf &SomeVar(intCon)NextText1.Text = sOutput同样地,像这样的代码 . . .Do Until EOF(F)Line Input #F, nextLineText1.Text = Text1.Text + nextLineLoop. . . 比下面的代码慢得多:Do Until EOF(F)Line Input #F, nextLinebufferVar = bufferVar + nextLineLoopText1.Text = bufferVar然而,下面的代码完成了相同的功能,而且还要快:Text1.Text = Input(F, LOF(F))如上述,几种方法都实现了同样的任务;同时,最好的算法也是最优的。
4. 尽量使用数组,避免使用集合除非你必须使用集合(Collection),否则你应该尽量使用数组。
据测试,数组的存取速度可以达到集合的100倍。
这个数字听起来有点骇人听闻,但是如果你考虑到集合是一个对象,你就会明白为什么差异会这么大。
5. 展开小的循环体在编码的时候,有可能遇到这种情况:一个循环体只会循环2到3次,而且循环体由几行代码组成。
在这种情况下,你可以把循环展开。
原因是循环会占用额外的CPU时间。
但是如果循环比较复杂,你就没有必要这样做了。
6. 避免使用很短的函数和使用小的循环体相同,调用只有几行代码的函数也是不经济的--调用函数所花费的时间或许比执行函数中的代码需要更长的时间。
在这种情况下,你可以把函数中的代码拷贝到原来调用函数的地方。
7. 减少对子对象的引用在VB中,通过使用.来实现对象的引用。
例如:Form1.Text1.Text在上面的例子中,程序引用了两个对象:Form1和Text1。
利用这种方法引用效率很低。
但遗憾的是,没有办法可以避免它。
程序员唯一可以做就是使用With或者将用另一个对象保存子对象(Text1)。
' 使用WithWith frmMain.Text1.Text = "Learn VB".Alignment = 0.Tag = "Its my life".BackColor = vbBlack.ForeColor = vbWhiteEnd With或者' 使用另一个对象保存子对象Dim txtTextBox as TextBoxSet txtTextBox = frmMain.Text1TxtTextBox.Text = "Learn VB"TxtTextBox.Alignment = 0TxtTextBox.Tag = "Its my life"TxtTextBox.BackColor = vbBlackTxtTextBox.ForeColor = vbWhite注意,上面提到的方法只适用于需要对一个对象的子对象进行操作的时候,下面这段代码是不正确的:With Text1.Text = "Learn VB".Alignment = 0.Tag = "Its my life".BackColor = vbBlack.ForeColor = vbWhiteEnd With很不幸的是,我们常常可以在实际的代码中发现类似于上面的代码。
这样做只会使代码的执行速度更慢。
原因是With块编译后会形成一个分枝,会增加了额外的处理工作。
8. 检查字符串是否为空大多数程序员在检查字符串是否为空时会使用下面的方法:If Text1.Text = "" then' 执行操作End if很不幸,进行字符串比较需要的处理量甚至比读取属性还要大。
因此我建议大家使用下面的方法:If Len(Text1.Text) = 0 then' 执行操作End if9. 去除Next关键字后的变量名在Next关键字后加上变量名会导致代码的效率下降。
我也不知道为什么会这样,只是一个经验而已。
不过我想很少有程序员会这样画蛇添足,毕竟大多数程序员都是惜字如金的人。
' 错误的代码For iCount = 1 to 10' 执行操作Next iCount' 正确的代码For iCount = 1 to 10' 执行操作Next10. 使用数组,而不是多个变量当你有多个保存类似数据的变量时,可以考虑将他们用一个数组代替。
在VB中,数组是最高效的数据结构之一。
11. 使用动态数组,而不是静态数组使用动态数组对代码的执行速度不会产生太大的影响,但是在某些情况下可以节约大量的资源。
12. 销毁对象无论编写的是什么软件,程序员都需要考虑在用户决定终止软件运行后释放软件占用的内存空间。
但遗憾的是很多程序员对这一点好像并不是很在意。
正确的做法是在退出程序前需要销毁程序中使用的对象。
例如:Dim FSO as New FileSystemObject' 执行操作' 销毁对象Set FSO = Nothing对于窗体,可以进行卸载:Unload frmMain或Set frmMain = Nothing13. 变长和定长字符串从技术上来说,与变长字符串相比,定长字符串需要较少的处理时间和空间。
但是定长字符串的缺点在于在很多情况下,你都需要调用Trim函数以去除字符串末的空字符,这样反而会降低代码效率。
所以除非是字符串的长度不会变化,否则还是使用变长字符串。
14. 使用类模块,而不是ActiveX控件除非ActiveX控件涉及到用户界面,否则尽量使用轻量的对象,例如类。
这两者之间的效率有很大差异。
15. 使用内部对象在涉及到使用ActiveX控件和DLL的时候,很多程序员喜欢将它们编译好,然后再加入工程中。
我建议你最好不要这样做,因为从VB连接到一个外部对象需要耗费大量的CPU处理能力。
每当你调用方法或存取属性的时候,都会浪费大量的系统资源。
如果你有ActiveX控件或DLL的源代码,将它们作为工程的私有对象。
16. 减少模块的数量有些人喜欢将通用的函数保存在模块中,对于这一点我表示赞同。
但是在一个模块中只写上二三十行代码就有些可笑了。
如果你不是非常需要模块,尽量不要使用它。
这样做的原因是因为只有在模块中的函数或变量被调用时,VB才将模块加载到内存中;当VB应用程序退出时,才会从内存中卸载这些模块。
如果代码中只有一个模块,VB就只会进行一次加载操作,这样代码的效率就得到了提高;反之如果代码中有多个模块,VB会进行多次加载操作,代码的效率会降低。
17. 使用对象数组当设计用户界面时,对于同样类型的控件,程序员应该尽量使用对象数组。
你可以做一个实验:在窗口上添加100个PictureBox,每个PictureBox都有不同的名称,运行程序。
然后创建一个新的工程,同样在窗口上添加100个PictureBox,不过这一次使用对象数组,运行程序,你可以注意到两个程序加载时间上的差别。
18. 使用Move方法在改变对象的位置时,有些程序员喜欢使用Width,Height,Top和Left属性。
例如:Image1.Width = 100Image1.Height = 100Image1.Top = 0Image1.Left = 0实际上这样做效率很低,因为程序修改了四个属性,而且每次修改之后,窗口都会被重绘。
正确的做法是使用Move方法:Image1.Move 0,0,100,10019. 减少图片的使用图片将占用大量内存,而且处理图片也需要占用很多CPU资源。