读书人

一个Form赋值给object类型变量然后给

发布时间: 2012-01-08 22:48:50 作者: rapoo

一个Form赋值给object类型变量,然后给这个form里面的Textbox赋值出错
新规一个工程,在默认建立的Form1上追加一个button1和一个Textbox1,然后追加一个module1,module1里面追加下面代码
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs ) Handles Button1.Click
Call a()
End Sub
End Class

Module Module1
Public sub a()
dim obj as Object
obj = Form1
obj.Textbox1.Text = "Test "
'上面这行编译不出错,运行的时候出错,提示在Form1内找不到Textbox1这个变量。VB6中运行能通过,而且一个从VB6用工具升级到.net的的程序中又几乎一样的写法,就能运行通过。请高手指点一下,这种问题是什么原因引起来的,谢谢。
End Sub
End Module




[解决办法]
系统默认控件为protect,你改成public就行了
[解决办法]
楼上正确.
[解决办法]
这样写试试.

Module MyModule

Public Sub a()
Dim frm As New Form1

frm.Textbox1.Text = "test "

End Sub

End Module

[解决办法]
声明 TextBox1 为 Public
[解决办法]
1.在ide中把 TextBox1 的 Modifiers 属性 改为 public
2.如fht123() 所说

另不建议楼主使用跨模块的调用形式,虽然方便,但用时候甚至得不偿失

读书人网 >VB Dotnet

热点推荐