2011-07-22 238 views
1

我想將MSFlexGrid升級到.net datagridview, 這些代碼的等效代碼是什麼?將VB6 MSFlexGrid升級到VB.NET

With gridview 
    If .Row > .FixedRows Then 
     bDoNotEdit = True 
     .Row = .Row - 1 
     bDoNotEdit = False 
    End If 
    If .Row < .Rows - 1 Then 
     bDoNotEdit = True 
     .Row = .Row + 1 
     bDoNotEdit = False 
    End If 
End With 
+1

[你如何從Visual Basic 6.0遷移龐大的應用VB.NET?](http://stackoverflow.com/questions/395/how-do-you-migrate-a-large-app - 從視覺鹼性-6-0至VB-淨) –

回答

0

在VS 2008和更早的版本可以遷移VB6應用程序到.NET,也不會使用.NET成語(特別是更好的綁定功能)。 VS2010刪除了遷移向導。這裏真正的問題是你試圖用這個代碼完成的最終目標是什麼?通常最好重新考慮/重寫問題,而不是僅僅使用默認的遷移代碼。我發現通過使用.Net數據綁定對象可以清除數千行代碼的項目。

另外,要意識到只是因爲遷移的代碼可能編譯,它可能不會做同樣的事情。尤其要注意數組或數學函數使用布爾結果的下界的一個錯誤。

0

使用數據網格視圖。

代碼段假定您已經創建了一個名爲「SubmittedDataGridView」的datagridview控件,並在設計時在IDE中創建了列,或者在您到達此處之前在運行時指定了它們。

我不知道變量「bDoNotEdit」是指還是被用於,所以我忽略了它。

'step one, create a datagridrow 
Dim aRow As New System.Windows.Forms.DataGridViewRow 

'Step two, create a prototypical Row from the datagridview control 
aRow.CreateCells(SubmittedDataGridView) 

'Step Three, specify the values 
aRow.Cells(0).Value = "value one" 
aRow.Cells(1).Value = "Value two" 
aRow.Cells(2).Value = "value three" 

'Append the row to the DataGridView 
SubmittedDataGridView.Rows.Add(aRow)