0

我是 .NET 编程的新手。

我有一个包含 Button1_Click 事件的 Form1 类。(Button1_Click 在运行时创建多个文本框)

这是课程:

Public Class Form1

    Dim shiftDown As Integer

    Dim counter As Integer


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

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim textbox1 As New TextBox

       counter += 1

       shiftDown = shiftDown + 30

       textbox1.Name = "Textbox" + counter.ToString()
       textbox1.Size = New Size(170, 10)
       textbox1.Location = New Point(10, 32 + shiftDown)
       textbox1.Visible = True

       GroupBox1.Controls.Add(textbox1)

End Sub

结束类

目前这行:

将 shiftDown 调暗为整数

将计数器变暗为整数

定义为全局变量。

我的问题是,我应该将这些变量定义为属性还是 Button1_Click 事件中的静态局部变量,而不是它们的方式?

4

3 回答 3

3

如果您正在构建 Windows 窗体应用程序(我认为您是),请尝试使用 Protected 而不是 Dim:

Protected shiftDown As Integer
Protected counter As Integer

这会将变量转换为局部类变量而不是全局变量。

于 2012-06-09T19:36:06.077 回答
3

我会使用变量而不是属性。像现在一样在类 Form1 中全局定义它们,或者在 Button1_click 中将它们定义为静态变量都可以正常工作;这是个人喜好的问题。

可以将它们保持原样,但要理解这些变量可以被 Form1 类中的其他子访问。您也可以在 Button1_click 中将它们设为静态,但如果您显式初始化变量,则需要小心。

于 2012-06-10T02:20:06.127 回答
2

如果您真的想学习如何构建 .NET 应用程序,我强烈建议您观看 Jason Dollinger 的视频,该视频可在此处获得:Lab49 档案

它真的很棒,它涵盖了需要构建适当的 WPF / MVVM / .NET 应用程序时遇到的大多数相关问题

于 2012-06-09T19:43:12.507 回答