ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 1157|ตอบกลับ: 2

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

[คัดลอกลิงก์]

252

กระทู้

367

โพสต์

3064

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
3064






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

  5.     '/ Technique
  6.     Private Sub FastAddItem(ByVal MaxItem As Integer)
  7.         Dim lst As List(Of Object) = New List(Of Object)(MaxItem)
  8.         For i As Integer = 1 To MaxItem
  9.             lst.Add(i)
  10.         Next
  11.         cmbTest.Items.AddRange(lst.ToArray())
  12.         '//
  13.         cmbTest.SelectedIndex = cmbTest.Items.Count - 1
  14.     End Sub

  15.     '/ Normal.
  16.     Private Sub AddItemVB(ByVal MaxItem As Integer)
  17.         For i = 1 To MaxItem
  18.             cmbTest.Items.Add(i)
  19.         Next
  20.         cmbTest.SelectedIndex = cmbTest.Items.Count - 1
  21.     End Sub

  22.     Private Sub btnAddItemFast_Click(sender As System.Object, e As System.EventArgs) Handles btnAddItemFast.Click
  23.         cmbTest.Items.Clear()
  24.         lblTimer.Text = "Timer List: "
  25.         GroupBox1.Text = " Test with List "
  26.         sWatch.Reset()
  27.         sWatch.Start()
  28.         Cursor = Cursors.WaitCursor
  29.         '//
  30.         Call FastAddItem(20000)
  31.         '//
  32.         Cursor = Cursors.Default
  33.         sWatch.Stop()
  34.         mTimeDouble = sWatch.ElapsedMilliseconds * 0.001
  35.         lblTimer.Text = lblTimer.Text & mTimeDouble.ToString & " sec."
  36.     End Sub

  37.     Private Sub btnAddItem_Click(sender As System.Object, e As System.EventArgs) Handles btnAddItem.Click
  38.         cmbTest.Items.Clear()
  39.         lblTimer.Text = "Timer normal code: "
  40.         GroupBox1.Text = " Test with normal code "
  41.         sWatch.Reset()
  42.         sWatch.Start()
  43.         Cursor = Cursors.WaitCursor
  44.         '//
  45.         Call AddItemVB(20000)
  46.         '//
  47.         Cursor = Cursors.Default
  48.         sWatch.Stop()
  49.         mTimeDouble = sWatch.ElapsedMilliseconds * 0.001
  50.         lblTimer.Text = lblTimer.Text & mTimeDouble.ToString & " sec."
  51.     End Sub

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

  55. End Class
คัดลอกไปที่คลิปบอร์ด


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

FastAddItemComboBox.ZIP

15.17 KB, ดาวน์โหลดแล้ว: 0

สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

0

กระทู้

52

โพสต์

233

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
233
โพสต์ 2020-1-6 11:50:22 | ดูโพสต์ทั้งหมด

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

0

กระทู้

14

โพสต์

42

เครดิต

Newbie

Rank: 1

เครดิต
42
โพสต์ 2020-4-20 15:48:38 | ดูโพสต์ทั้งหมด

ขอบคุณครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2020-9-19 15:41 , Processed in 0.498147 second(s), 5 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้