如何在自定义子类里操作窗体啊??

davidw6 2005-03-12 06:40:01
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.RichTextBox1.Text = ""
Dim dd As New test1
dd.ss = 797809
dd.test2()
End Sub
Public Class test1
Public ss As Integer
Public Sub test2()
Dim frm As Form1
frm = New Form1
frm.RichTextBox1.Text = ss
End Sub
End Class

RichTextBox1.Text并没有改变!怎么回事啊,怎么做,谢谢!!!
...全文
138 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidw6 2005-03-13
  • 打赏
  • 举报
回复
太棒了,解决问题了!!!!
机器人 2005-03-13
  • 打赏
  • 举报
回复
frm = New Form1 〈========= 这是你New出来的新窗口,并不是你想改的窗口!
frm.RichTextBox1.Text = ss

正如 hamadou(闵峰) 所说,修改Test1的构造函数,把想要修改的窗体的引用作为参数传递给Test1
捏造的信仰 2005-03-13
  • 打赏
  • 举报
回复
检查frm变量持有的对象是不是你真正想要的那个窗体!
hamadou 2005-03-13
  • 打赏
  • 举报
回复
改成下面的可以:这里的form4就是你的form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.RichTextBox1.Text = ""
Dim dd As New test1(Me)
dd.ss = 797809
dd.test2()
End Sub

Public Class test1
Public ss As Integer
Private m_form As Form4
Public Sub New(ByVal m As Object)
m_form = CType(m, Form4)
End Sub
Public Sub test2()
m_form.RichTextBox1.Text = ss
End Sub
End Class
hamadou 2005-03-13
  • 打赏
  • 举报
回复
这个很简单啊!你又创建了一个from1的实例,但却不显示它,你修改的不过是这个实例的richtextbox的text,但是你看到的却是另一个(最初显示的form1的一个实例)。当然看不到效果了!
davidw6 2005-03-12
  • 打赏
  • 举报
回复
UP!!!!!!!!!
davidw6 2005-03-12
  • 打赏
  • 举报
回复
把 frm = New Form1去掉后,执行错误!

未处理的“System.NullReferenceException”类型的异常出现在 WindowsApplication1.exe 中。

其他信息: 未将对象引用设置到对象的实例。
Night_Elf 2005-03-12
  • 打赏
  • 举报
回复
把 frm = New Form1去掉

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧