vb.net中,子窗体如何向父窗体传值?

dante4ever 2010-12-24 02:03:24
如果我在mdi子窗体的textbox中输入一个数值,怎么才能传递给父窗体呢?比如childform是form1的子窗体,在childform的textbox控件中我输入了一个数值1,我想在form1中,把这个值赋给数组中的一个元素,不如array(0),怎么实现呢?childform和form1的编辑窗口是分开的啊,还是用什么函数之类的可以实现?
小弟刚接触vb.net没多久,问题有些菜,还望高手不吝赐教,要是能举例或者说一下用过程就感激不尽了,谢谢了:)
...全文
289 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dante4ever 2010-12-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tosp2012 的回复:]
VB.NET code
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim F2 As New Form2
F2.Show()
Ad……
[/Quote]
谢谢你。我后来用public定义了变量解决了,不过感觉没有你的这种方法好。谢谢。
wuyq11 2010-12-24
  • 打赏
  • 举报
回复
Public Partial Class Form1
Inherits Form
Private Sub button1_Click(sender As Object, e As EventArgs)
Dim frm2 As New Form2()
frm2.Show(Me)
End Sub
End Class

Public Partial Class Form2
Inherits Form
Private Sub button1_Click(sender As Object, e As EventArgs)
Dim frm1 As Form1 = DirectCast(Me.Owner, Form1)
DirectCast(frm1.Controls("textBox1"), TextBox).Text = Me.textBox2.Text
Me.Close()
End Sub
End Class
Tosp2012 2010-12-24
  • 打赏
  • 举报
回复
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim F2 As New Form2
F2.Show()
AddHandler F2.SendEvent, New Form2.Form2Delegate(AddressOf SubReceiveMessage)

End Sub
Sub SubReceiveMessage(ByVal m As String)
TextBox1.Text = m
End Sub
End Class

Public Class Form2
Public Delegate Sub Form2Delegate(ByVal str As String)
Public Event SendEvent As Form2Delegate

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RaiseEvent SendEvent(TextBox2.Text & "(sent by Event! )")
End Sub

End Class
pcbabao 2010-12-24
  • 打赏
  • 举报
回复
借助一个全局变量?
子窗体数据存进去,然后再传递到主窗体?

16,552

社区成员

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

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