在form2中寫
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)景寧畬族自治,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
private string formtext1;
public string Formtext1
{
get { return formtext1; }
set { formtext1= value; }
}
在form1中
form2.Formtext1=text1.Text();
form2.show();
在form2中頁面加載是給text2 賦值 text2.Text=formtext;
這不就是MDI嗎?把主窗口的IsMdiContainer屬性設(shè)置為True,然后在加載子窗口的時候加上一句:
子窗口.MdiParent = 主窗口
然后再Show就行了.
示例:
Private Sub b1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b1.Click
Dim frm As New Form2
frm.MdiParent = Me
frm.Show()
End Sub
用form的ShowDialog這個功能,這個是可以進(jìn)行窗體間的傳值的。
比如在父窗體上需要傳的值是textbox1的內(nèi)容,子窗體是childform.
那么在父窗體上的點(diǎn)擊事件中可以這樣寫
dim frm as childform = New childform
'要在子窗體上的textbox1里顯示父窗體中的textbox1中的內(nèi)容,這樣寫
frm.textbox1.text = me.textbox1.text
'最后
frm.showdialog()
這樣就可以了。
如果說你三個窗體完全一樣,那你也不用寫三個一樣的窗體只要寫一個就行了,在不同的按鈕事件中做不同的賦值即可。
不過這樣打開的子窗體是模態(tài)窗體,也就是說在子窗體顯示之后,要對父窗體進(jìn)行操作必需關(guān)閉子窗體才行。
我沒有看你寫的代碼 , 只好根據(jù)你的問題來回答了:.net窗體傳值問題 ,
其實(shí),定義一個靜態(tài)的全局變量就行了 , 如果是同一個項(xiàng)目內(nèi)呢,訪問修飾符不需要寫public,只需要internal就可以了,
定義:
internal static str=null;
然后,取得需要傳遞的文本框或者是其他控件里的值,賦值給str,
如: str=textBox1.text;
然后,在另一個類里面,取得str的值 , 如果說定義的時候是在Form1類里面定義的,
那么就在另一個窗體的類文件里寫:string s=Form1.str;
這樣,該值就從第一個窗體傳遞到第2個窗體了,
定義值的時候,可以取任意類型的....
或者直接就寫object的也行...