2009-12-02 45 views
1

我一直負責將VB6程序轉換爲VB.NET。在我的在線研究中,似乎每個人都說我需要通過我的代碼並去除我擁有的任何變體。到目前爲止,我的運氣相當不錯,但我在替換這個問題時遇到了問題。VB6轉換爲VB.net變體問題

Private Sub lvThumbView_OLEDragDrop(Data As MSComctlLib.DataObject) 
    Dim File As Variant 

    For Each File In Data.Files 
     Select Case UCase(right(File, 3)) 
      Case "JPG", "BMP" 
      ..... 
     End Select 
    Next File 
End Sub 

我對VB還是很新的(無論是6或.net),我很難找到替代方案。 VB.net中的轉換工具能夠處理這種情況嗎?或者我需要改變這個?如果我這樣做,是否有更好的選擇呢?原諒我的noobness。

預先感謝您。

+0

什麼版本的VB.NET? – 2009-12-02 23:04:13

+2

看起來像一個字符串 – 2009-12-02 23:10:10

+0

我將在Visual Studio 2008上轉換爲VB.net btw lvThumbView是一個ListView。現在有3個不同版本的這個功能基本上都是一樣的。一個使用MSCOmctlLib.DataObject,一個使用DataObject,另一個使用String(但沒有for循環)。我想問題應該是有沒有辦法將MSComctlLib.DataObject轉換爲字符串或其他東西 – 2009-12-02 23:22:35

回答

2

查看代碼,很可能您將用.NET ListView control替換VB6 Listview控件。您列出的Sub看起來像它處理ListView控件的DragDrop事件(我不熟悉控件,但這是它的名稱)。

查看ListView控件的DragDrop事件和DoDragDrop()方法,瞭解如何將一組字符串用作與事件關聯的數據。

+0

雅我覺得我現在使用的VB控件將被替換。我想我試圖替換Variant掛了;我沒有看到更大的圖片。此代碼中肯定存在其他一些需要首先解決的問題,但我認爲這是一個很好的答案。謝謝 – 2009-12-02 23:50:04

1

預先做好所有可能的修改會很有幫助,但如果有問題,您可以節省一些時間,直到轉換完成。

之後你會做一些改變,但你可以繼續進行.net轉換,然後清理遺留下來的東西。

例如,您可能會在.net轉換之前將變量轉換爲字符串,只能查找.net listview DragEventArgs.data是不同的。 (我不確定它是什麼,但是在你完成轉換之後會更容易找到它。)