如果是
目前創(chuàng)新互聯(lián)公司已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、隆昌網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
VB
6.0,您可以考慮通過設(shè)置全局變量來在兩個窗體間傳遞數(shù)據(jù)。
如果是
VB.NET
可以這樣來進行:
假設(shè)登錄對話框為Form2,確定按鈕名稱為CmdOK:
將
Form2
的
AcceptButton
屬性設(shè)置為
CmdOK
將
Form2
的
CmdOK
按鈕的
DialogResult
設(shè)置為
OK
在
Form1
需要添加顯示對話框代碼的位置添加:
Dim
Dialog
As
New
Form2
If
Dialog.ShowDialog
=
Windows.Forms.DialogResult.OK
Then
Me.Text
=
"XXX系統(tǒng)
-
"
Dialog.TextBox1.Text
End
If
這樣在Form1主窗口內(nèi)的標題欄就會顯示用戶名了。
同理,可以通過訪問Dialog中的任何對象來取得對話框中的任何信息。
新窗體中寫
構(gòu)造函數(shù)
,然后調(diào)用。
比如你要調(diào)用的新窗體是From1.cs這個窗體,
public
Form1(要傳入的參數(shù))
{
//把傳入的參數(shù)傳入窗體中
//執(zhí)行窗體標準內(nèi)容
}
然后在需要調(diào)用的地方調(diào)用
Form1
f
=
new
Form1(傳出的參數(shù));
'--------Form1--------
Dim
f2
As
Form2
Private
Sub
Command1_Click()
Set
f2
=
New
Form2
f2.Show
vbModal
End
Sub
'--------Form1
End--------
'--------Form2--------
Dim
WithEvents
f3
As
Form3
Private
Sub
Command1_Click()
Set
f3
=
New
Form3
f3.Show
End
Sub
Public
Sub
f3_f2W()
Me.Command1.Caption
=
"f2W"
End
Sub
'--------Form2
End--------
'--------Form3--------
Public
Event
f2W()
Private
Sub
Command1_Click()
RaiseEvent
f2W
End
Sub
'--------Form3
End--------
f.Show();
如此就能實現(xiàn)調(diào)用了。
通過Database吧!不然得通過消息處理API比如
Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As IntPtr, _
ByVal wMsg As Integer, _
ByVal wParam As Integer, _
ByVal lParam As Integer) _
As Boolean
但必須得事先知道另外一個項目的text1的句柄
用form的ShowDialog這個功能,這個是可以進行窗體間的傳值的。
比如在父窗體上需要傳的值是textbox1的內(nèi)容,子窗體是childform.
那么在父窗體上的點擊事件中可以這樣寫
dim frm as childform = New childform
'要在子窗體上的textbox1里顯示父窗體中的textbox1中的內(nèi)容,這樣寫
frm.textbox1.text = me.textbox1.text
'最后
frm.showdialog()
這樣就可以了。
如果說你三個窗體完全一樣,那你也不用寫三個一樣的窗體只要寫一個就行了,在不同的按鈕事件中做不同的賦值即可。
不過這樣打開的子窗體是模態(tài)窗體,也就是說在子窗體顯示之后,要對父窗體進行操作必需關(guān)閉子窗體才行。
在form2中寫
private string formtext1;
public string Formtext1
{
get { return formtext1; }
set { formtext1= value; }
}
在form1中
form2.Formtext1=text1.Text();
form2.show();
在form2中頁面加載是給text2 賦值 text2.Text=formtext;
Public Sub checkInjectionWithNoKeyword()
Dim injection_Type As String = My.Forms.SqlInjection.ComboBox_Type.Text.Trim()
Dim my_checkUrl As String = My.Forms.SqlInjection.ComboBox_Url.Text.Trim()
end sub
這個改成放在窗體內(nèi)就行了,我也有遇到同樣的問題,最后只好放窗體里才能實現(xiàn)。
網(wǎng)上找的什么委托都是不行的。
分享名稱:vbnet窗體間傳值 vbnet窗體數(shù)據(jù)如何交互
轉(zhuǎn)載注明:http://www.chinadenli.net/article42/doogpec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、響應(yīng)式網(wǎng)站、用戶體驗、商城網(wǎng)站、App設(shè)計、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)