时间: 2021-07-31 作者:daque
关于如何操作其他窗体的控件或变量的方法!
从来处治的本拥有很多,在这边只做大概的归结。
1. 树立十足变量
从来这个本事比较大概也很好领略,我们惟有在一个module里面树立了两个十足变量就无妨了。
比如:public frm1 as new form1()
public frm2 as new form2()
多么,我们尽管在何处想参观就很大略了。但是,多么做会侈靡比较多的体制资源。一致来说不要应用十足变量。
2. 应用shared 前缀
应用了shared树立的字段(变量)大约属性无妨被其他窗体调用。
比如:(假设有窗体form1 和 form2 )
在form第11国学写入:
public shared m_add as string ‘多么我们在form1的任何场所都无妨变化m_add的值
private sub form1_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
m_add = "111"
end sub
在form第22国学写入:
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
messagebox.show(form1.m_add) ‘鲜明我们无妨赢得form1的这个变量了
end sub
堤防:应用shared时,不用树立典型,被树立成shared的变量或属性在十足的典型中都是一个值。就象上面的例子中应用form1.m_add一致。以是纵然是翻开很多的同一个窗体的典型时,该值不变化,无妨用来记录翻开的典型数量。
3.这种本事传递一个窗体典型来日,多么就无妨博得该典型的变量与属性了。纵然也无妨对她们进行安排。
比如:在form第11国学
dim frm as new form2(me)
frm.show()
在form第22国学:
dim m_parent as form1
public sub new(byval sender as object)
mybase.new()
'该调用是 windows 窗体安置器所必然的。
initializecomponent()
'在 initializecomponent() 调用之后填补任何初始化
m_parent=ctype(sender,form1) ‘大约m_parent=directcast(sender,form1)
end sub
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
m_parent.textbox1.text = "1111"
end sub
4.竖立一个属性来遏止参观
这种方法在new 一个窗体后,show他出来前竖立它的一个群众属性,这个属性即是本窗体的典型。纵然也无妨不是一个属性而是一个群众的字段。
如:在form第11国学:
dim newform as new form2()
newform.setparentform = me
newform.show()
在form第22国学:
dim m_parentform as form1
public property setparentform as form1
get
return m_parentform
end get
set (byval value as form1)
m_parentform = value
end set