【问题标题】:Form_Load doesn't execute in applicationForm_Load 不在应用程序中执行
【发布时间】:2013-01-23 15:42:39
【问题描述】:

我是 Visual Basic 新手。我已经安装了 Microsoft Visual Studio 2010。创建了一个新的 Windows 窗体应用程序。例如,我制作了一个简单的程序,它会要求最终用户输入 2 个数字,并允许他们从第一个数字中添加或减去第二个数字,然后在文本框中显示输出。

现在,我添加了另一个子例程,它将在 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.net winforms


    【解决方案1】:

    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
    

    (并添加事件所需的参数。)

    其他几点说明:

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

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

      Dim a As Integer = Integer.Parse(TextBox1.Text)
      

      (也添加了显式转换。)

    • 如果你想让一个控件填充表单,你可以在表单编辑器中适当地设置它的Dock属性,而不必手动编程。

    【讨论】:

    • 非常感谢您的解决方案以及指点。这对我有帮助。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      相关资源
      最近更新 更多