thongkorn โพสต์ 2019-12-26 12:26:27

[VB.NET] เทคนิคการเร่งความเร็วในการเพิ่มไอเท็มให้กับ ComboBox Control

http://www.g2gnet.com/webboard/images/vbnet/fastadditem.png




มาดูโค้ดกันเถอะ ...
Public Class frmFastAddItem
    '/ Start-Stop Timer
    Private mTimeDouble As Double
    Private sWatch As New Stopwatch()

    '/ Technique
    Private Sub FastAddItem(ByVal MaxItem As Integer)
      Dim lst As List(Of Object) = New List(Of Object)(MaxItem)
      For i As Integer = 1 To MaxItem
            lst.Add(i)
      Next
      cmbTest.Items.AddRange(lst.ToArray())
      '//
      cmbTest.SelectedIndex = cmbTest.Items.Count - 1
    End Sub

    '/ Normal.
    Private Sub AddItemVB(ByVal MaxItem As Integer)
      For i = 1 To MaxItem
            cmbTest.Items.Add(i)
      Next
      cmbTest.SelectedIndex = cmbTest.Items.Count - 1
    End Sub

    Private Sub btnAddItemFast_Click(sender As System.Object, e As System.EventArgs) Handles btnAddItemFast.Click
      cmbTest.Items.Clear()
      lblTimer.Text = "Timer List: "
      GroupBox1.Text = " Test with List "
      sWatch.Reset()
      sWatch.Start()
      Cursor = Cursors.WaitCursor
      '//
      Call FastAddItem(20000)
      '//
      Cursor = Cursors.Default
      sWatch.Stop()
      mTimeDouble = sWatch.ElapsedMilliseconds * 0.001
      lblTimer.Text = lblTimer.Text & mTimeDouble.ToString & " sec."
    End Sub

    Private Sub btnAddItem_Click(sender As System.Object, e As System.EventArgs) Handles btnAddItem.Click
      cmbTest.Items.Clear()
      lblTimer.Text = "Timer normal code: "
      GroupBox1.Text = " Test with normal code "
      sWatch.Reset()
      sWatch.Start()
      Cursor = Cursors.WaitCursor
      '//
      Call AddItemVB(20000)
      '//
      Cursor = Cursors.Default
      sWatch.Stop()
      mTimeDouble = sWatch.ElapsedMilliseconds * 0.001
      lblTimer.Text = lblTimer.Text & mTimeDouble.ToString & " sec."
    End Sub

    Private Sub frmFastAddItem_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      lblTimer.Text = ""
    End Sub

End Class

ดาวน์โหลดโค้ดฉบับเต็ม VB.NET (2010) ได้ที่นี่ ...

MrDen โพสต์ 2020-1-6 11:50:22

ขอบพระคุณครับผม :)

jaricha5 โพสต์ 2020-4-20 15:48:38

ขอบคุณครับ
หน้า: [1]
ดูในรูปแบบกติ: [VB.NET] เทคนิคการเร่งความเร็วในการเพิ่มไอเท็มให้กับ ComboBox Control