2012-07-12 29 views
0

我使用VS2010VB6.SetItemData(組合框,我,rd.Fields( 「XXX」)。值)

當我轉換的代碼轉換VB6到VB.NET,我發現的東西,我不不要理解代碼在做什麼以及如何轉換它的意義。

i = 0 

While Not rd.EOF 

     cobTmp.Items.Insert(i, rd.Fields("d").Value) 
     VB6.SetItemData(cobTmp, i, rd.Fields("r").Value) 
     If rd.Fields("r").Value = "1234" Then 
      intloc1234 = i 
     End If 
     rd.MoveNext() 
     Debug.Print(VB6.TabLayout(VB6.GetItemData(cobTmp, i), VB6.GetItemString(cobTmp, i))) 
     i = i + 1 
    End While 

我該如何處理這些代碼以及和這條線:

Debug.Print(VB6.TabLayout(VB6.GetItemData(cobTmp, i), VB6.GetItemString(cobTmp, i))) 

我可以使用cobTmp.item(i)更換VB6.GetItemData(cobTmp, i)

VB6.TabLayout怎麼樣?

我知道這些可以被忽略,但我想要做得更好。

+1

對不起 - 我真的很難理解這個問題。 – 2012-07-12 09:45:47

+0

我將代碼從VB6轉換爲VB.NET。以上代碼來自VB6,它使VS2010變暖。我想解決以VB6.xxxxx開始的代碼。 =] – user1506228 2012-07-13 01:56:21

回答

1

關於GetItemData,根據Microsoft Support

在Visual Basic 6.0,對於ListBox或ComboBox控件的ItemData屬性可以在屬性窗口設計時設置爲Integer與ListBox或ComboBox關聯項目。在Visual Basic 2010中,ItemData屬性不再存在; GetItemData和SetItemData方法可以用來模擬ItemData的行爲。

關於TabLayout,根據本Microsoft Support Article

在Visual Basic 6.0,該方法Debug.Print有這樣的指定的輸出是如何在立即窗口格式化的outputlist參數。升級工具使用此函數將outputlist參數轉換爲字符串以在即時窗口中顯示。

+0

+1我們也可以鏈接到['ItemData'](http://msdn.microsoft.com/en-us/library/aa235132(v = vs.60).aspx)上的VB6文檔。但是,如果'ItemData'和'TabLayout'實際上只用於'Debug.Print'語句中,那麼只需刪除代碼並轉到其他東西:) Debug.Print只是一個日誌語句。 – MarkJ 2012-07-12 16:43:04

+0

非常感謝,我正在嘗試轉移到其他人=] – user1506228 2012-07-13 01:54:05