Vb.net 表格#加载不';不能在应用程序中执行

Vb.net 表格#加载不';不能在应用程序中执行,vb.net,winforms,Vb.net,Winforms,我不熟悉Visual Basic。我已安装Microsoft Visual Studio 2010。创建了一个新的Windows窗体应用程序。例如,我制作了一个简单的程序,要求最终用户输入两个数字,允许他们将第一个数字相加或减去第二个数字,并在文本框中显示输出 现在,我添加了另一个子例程,它将在Windows窗体加载时自动执行。这将计算输出文本框的宽度和表单宽度,并显示在底部 下面是代码现在的样子: Public Class Form1 ' Run this Subroutine in

我不熟悉Visual Basic。我已安装Microsoft Visual Studio 2010。创建了一个新的Windows窗体应用程序。例如,我制作了一个简单的程序,要求最终用户输入两个数字,允许他们将第一个数字相加或减去第二个数字,并在文本框中显示输出

现在,我添加了另一个子例程,它将在Windows窗体加载时自动执行。这将计算输出文本框的宽度和表单宽度,并显示在底部

下面是代码现在的样子:

Public Class Form1

    ' Run this Subroutine initially to display the Form and Text box width
    Private Sub Form_Load()
        Label5.Text = TextBox3.Width
        Label7.Text = Me.Width
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a As Integer
        Dim b As Integer
        a = TextBox1.Text
        b = TextBox2.Text
        TextBox3.Text = a + b
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim a As Integer
        Dim b As Integer
        a = TextBox1.Text
        b = TextBox2.Text
        TextBox3.Text = a - b
    End Sub
End Class
虽然加法和减法都能正常工作,但它不会在Windows窗体中显示窗体和输出文本框的宽度

我认为Form_Load()没有正确执行

我也试过,Form_Activate(),但也不起作用

一旦我能够做到这一点,我想扩展这个概念来调整输出文本框的大小以及表单的大小。然而,为了理解,我想看看我是否能成功地执行Form_Load()


谢谢。

表单加载不执行。现在,这只是其他任何方法。为了告诉VB使此方法处理
Load
事件,您需要这样告诉它:

Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Loasd
    Label5.Text = TextBox3.Width
    Label7.Text = Me.Width
End Sub
(并为事件添加所需的参数。)

其他几点意见:

  • 确保始终在项目选项中启用“严格控制”
选项。这将使编译器对代码更加严格,并标记更多错误这是一件好事,因为这些错误是潜在的bug。特别是,您的代码在不同数据类型之间的转换非常松散,这些转换应该是显式的

  • 声明变量时初始化变量,不要在单独的语句中赋值。也就是说,写下:

    Dim a As Integer = Integer.Parse(TextBox1.Text)
    
    (还添加了显式转换。)

  • 如果要使控件填充表单,只需在表单编辑器中适当设置其
    Dock
    属性,而无需手动编程


  • 表单加载不执行。现在,这只是其他任何方法。为了告诉VB使此方法处理
    Load
    事件,您需要这样告诉它:

    Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Loasd
        Label5.Text = TextBox3.Width
        Label7.Text = Me.Width
    End Sub
    
    (并为事件添加所需的参数。)

    其他几点意见:

    • 确保始终在项目选项中启用“严格控制”
    选项。这将使编译器对代码更加严格,并标记更多错误这是一件好事,因为这些错误是潜在的bug。特别是,您的代码在不同数据类型之间的转换非常松散,这些转换应该是显式的

  • 声明变量时初始化变量,不要在单独的语句中赋值。也就是说,写下:

    Dim a As Integer = Integer.Parse(TextBox1.Text)
    
    (还添加了显式转换。)

  • 如果要使控件填充表单,只需在表单编辑器中适当设置其
    Dock
    属性,而无需手动编程


  • 您需要添加句柄,以便应用程序自动执行它:

    Private Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        '...
    End Sub
    

    您需要添加句柄,以便应用程序自动执行它:

    Private Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        '...
    End Sub
    

    非常感谢您提供的解决方案和提示。这将对我有所帮助。非常感谢你的解决方案和指点。这对我有帮助。