vb.net在自制的窗体控件中弹出一个窗口再返回一个值

例如:正在自制一个控件A,在A中有一个按钮BUTTON1和变量X.按下BUTTON1就会弹出一个已经制作好的WINDOS窗体FROM2,在FROM2中有textbox1,... 例如:正在自制一个控件A,在A中有一个按钮BUTTON1和变量X.按下BUTTON1就会弹出一个已经制作好的WINDOS窗体FROM2,在FROM2中有textbox1,在关闭FORM2时,将textbox1中的值赋给控件A中的变量X.应该怎么写????
不能用MSGBOX哦
展开
 我来答
包布丁
推荐于2018-04-05 · TA获得超过1358个赞
知道小有建树答主
回答量:1435
采纳率:25%
帮助的人:1176万
展开全部
先设计好Form1和Form2。在
Private Class Form2中输入
Public Event ChangeValue(ByVal value As String) '是string还是其它的看你需要了
在Form2的Closed事件:
Private Sub Form2_Closed() Handles Me.Closed
RaiseEvent ChangeValue(TextBox1.Text)'如果是数值类型的话用下面这个:
'RaiseEvent ChangeValue(Val(TextBox1.Text))
End Sub
在Form中定义x:
Dim x As String '是String还是数值类型看你需要了,要和上面的统一
在Form1中写一个处理值的函数。值哪来?别管它
Private Sub ProcessValue(ByVal value As String) '记得统一
x = value
End Sub
在Form1中Button1的Click事件中:
Private Sub Button1_Click() Handles Button1.Click
Dim f2 As New Form2
AddHandler f2.ChangeValue,AddressOf ProcessValue
f2.Show()
End Sub

楼下的更简单啦
追问
真是高手啊!!还有一个问题,我实在没分了.真心感谢你能回答,就是我一个应用程序中加载多个自制控件(x.dll)刚开始运行的时候没有问题.但是在其中一个进入循环的时候,就是其中一个控件卡住的时候,其余的同样控件也会卡住.是怎么回事?可以把每个加载的自制的控件都包装到一个线程里面吗?实现每个控件的独立运行???
从今做个好人
2013-05-26 · TA获得超过164个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:159万
展开全部
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.ShowDialog()
If Form2.Textbox1.Text <> "" Then '如果x可以为空的话,那就不需要这句了
x = Form2.Textbox1.Text
End If
End Sub

试试这样写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式