在vb.net中,您可以使用表单名称和变量来处理来自其他表单的公共变量。
form2.show
form2.k = 3
但是,如果使用表单变量来显示表单的实例,则必须使用该变量名称来处理公共变量。以下示例中显示了相同表单的两个实例。公共变量k仅在表单的第一个实例中分配值3,该值来自form2.show
。 frm.k
可用于将值分配给其他表单。
dim frm as new form2
form2.show
frm.show
form2.k = 3
我的问题:假设应用程序中只显示了一个表单实例,使用表单名称(form2.k
)处理公共变量是否可靠,或者更好地使用表单显示表单变量并使用它来引用表单的实例(frm.k
)?相同的答案是否适用于财产和公共变量?
答案 0 :(得分:3)
这里有一点澄清。在使用表单名称访问变量的情况下,您仍然使用实例来访问变量。这是VB.Net的一个功能,称为默认实例。基本上VB.Net将为每种表单类型维护一个实例。它将转换您的代码以访问此实例变量。这是VB6的一个非常流行的功能,它被移植到VB.Net(2005年我相信)。
表单显示一次的情况是此功能设计的确切情况。所以是的,使用它来访问价值是可靠的。这适用于任何实例成员。
这当然是假设一切都是单线程的。
答案 1 :(得分:0)
绝对是#2,使用实例变量。我不知道其他语法仍然有效!这是VB4的剩余部分,为了兼容性而转移到VB6。我以为他们把它丢在.net中。不要以为它甚至可以在C#中工作。