猿问

如何在 VB.NET 中获取表单的 ID

我正在尝试获取表单的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);

}

开心每一天1111
浏览 232回答 2
2回答

冉冉说

您有几种方法可以处理您的方案。在这两种方式中,都需要在“设计”视图中设置窗体的相应属性,以便永久保存。只需使用窗体的 Name 属性,但只需确保将此属性设置为应用程序中每个窗体的唯一字符串。如果您只想存储每个表单标识符的整数,则解析 Name 末尾整数的 Name 属性;例如,如果随后解析 Form1 以获取表单标识符。Me.Name = "Form1"1''put this line in Form Load eventDim 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 integerDim formIdentifier as string = Me.Name.Substring(4)第二个选项是设置窗体的属性值,并将其用作标识符。此属性允许开发人员将任何自定义字符串值附加到窗体。例如,在下面的屏幕截图中,我已分配为可以用作表单标识符的标记。确保 Tag 属性对于每个窗体都有唯一的值。TagformFinance''put this line in Form Load eventDim 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    NextEnd Sub
随时随地看视频慕课网APP
我要回答