我是.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
结束班
目前这行:
Dim shiftDown As Integer
Dim counter As Integer
定义为全局变量。
我的问题是,我应该在Button1_Click事件中将这些变量定义为属性还是静态局部变量,而不是它们的方式?
答案 0 :(得分:3)
如果您正在构建Windows窗体应用程序(我认为您是),请尝试使用Protected而不是Dim:
Protected shiftDown As Integer
Protected counter As Integer
这会将变量转换为本地类变量而不是全局变量。
答案 1 :(得分:3)
我会使用变量而不是属性。将它们在Form1中全局定义到类中,就像现在一样,或者作为Button1_click中的静态变量都可以正常工作;这是个人偏好的问题。
将它们保持原样是可以的,理解这些变量可以由Form1类中的其他subs访问。您也可以在Button1_click中将它们设置为静态,但如果您明确初始化变量,则需要注意。
答案 2 :(得分:2)
如果您真的想学习如何构建.NET应用程序,我迫切建议观看Jason Dollinger的视频,该视频可在此处获取:Lab49 Archives
它非常棒,它涵盖了在需要构建正确的WPF / MVVM / .NET应用程序时遇到的大多数相关问题