簡體   English   中英

使用表單操作將vb6函數轉換為vb.net

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM