[英]Converting vb6 function to vb.net with Form Manipulation
我在vb6中有一個函數,該函數接收通用形式,然后在該頁面上執行各種操作。 我正在嘗試從vb6轉換為vb.net和wpf。 但是,我對這種情況下的操作一無所知,因為頁面/窗口操作與vb6有很大不同。
我不希望使用find子函數,因為我認為為每個控件執行效率非常低下。
有人可以幫忙嗎?
函數(部分):
Public Function SegurancaControlo(ByRef Frm As Form, ByVal Objecto, Optional ByVal Condicao As String) As Boolean
On Error GoTo ErroEm_SegurancaControlo
Dim rss As ADODB.Recordset
Dim SQL As String
' configura controlo
SQL = (..)
If query(SQL, rss, "SYS") Then
Do Until rss.EOF
Select Case rss!Property
Case "E"
Frm.Controls(rss!NomeObjecto).Enabled = rss!Value
Case "L"
If (TypeOf Frm.Controls(rss!ObjectName) Is DataGrid) Then
Frm.Controls(rss!ObjectName).AllowUpdate = False
Frm.Controls(rss!ObjectName).AllowAddNew = False
Frm.Controls(rss!ObjectName).AllowDelete = False
Else
Frm.Controls(rss!NomeObjecto).Locked = rss!Value
End If
Case "V"
Frm.Controls(rss!ObjectName).Visible = rss!Value
Case "C"
Frm.Controls(rss!ObjectName).Caption = rss!Value
End Select
rss.MoveNext
Loop
End If
(..)
我不確定您的問題是什么。 除了On Error Goto(請參閱幫助中的Try / Catch塊)和As ADODB.Recordset(請參見SQL DataReader或SQL DataSet)之外,您的代碼將在vb.net中運行而不會出現錯誤。
Frm.Controls(控件名稱為字符串).Property
在vb.net中有效。 假設表單上有一個名為TextBox1的文本框,此代碼有效。
Dim Frm As Form = Me
Frm.Controls("TextBox1").Enabled = False
Dim t As String = Frm.Controls("TextBox1").Text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.