簡體   English   中英

如何在VB.NET中獲取表單的ID

[英]How to get the ID of a Form in VB.NET

我正在嘗試獲取表單的ID,以便可以將表單id保存到數據庫中,以便創建動態記錄:例如,我正在嘗試創建表單的簽名人(例如,批准人:,請求者:),但是結果為零。

這是我的VB.NET代碼

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim form_id As Integer = Me.AccessibleDescription
        MsgBox(form_id)
    End Sub

這是我的C#代碼:

private void Form1_Load(object sender, EventArgs e)
{
    int form_id = this.AccessibleDescription;
    Interaction.MsgBox(form_id);
}

在此處輸入圖片說明

您有兩種處理方案的方法。 兩種方式都需要在“設計”視圖中設置表單的相應屬性 ,以便將其永久保存。

  1. 只需使用表單的Name屬性,但只需確保為應用程序中的每個表單將此屬性設置為唯一的字符串即可。 如果只想為每個表單標識符存儲整數,則解析Name末尾的整數的Name屬性; 例如,如果Me.Name = "Form1"則解析Form1以獲得1作為表單標識符。

     ''put this line in Form Load event Dim formIdentifier as string = Me.Name ''OR use the integer part as identifier in form name assuming ''you name each form starting with Form ''and then an integer Dim formIdentifier as string = Me.Name.Substring(4) 
  2. 第二個選項是設置表單的Tag屬性的值,並將其用作標識符。 此屬性使開發人員可以將任何自定義字符串值附加到表單。 例如,在下面的屏幕截圖中,我已將formFinance分配為標簽,可以用作表單的標識符。 確保Tag屬性對於每個表單都有唯一的值。

     ''put this line in Form Load event Dim formIdentifier as string = Me.Tag 

設置表單的標簽值

好的,所以這是代碼項目的解決方案: https : //www.codeproject.com/Questions/853501/How-I-Can-Get-List-Of-All-Forms-In-My-Project-Usin ,您將其更改為您的需求。

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
    Dim types As Type() = myAssembly.GetTypes()
    For Each t As Type In types
        If UCase(t.BaseType.ToString) = "SYSTEM.WINDOWS.FORMS.FORM" Then
            'MessageBox.Show(t.Name)
            ListBox1.Items.Add(t.Name)
        End If
    Next
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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