bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

vb.net傳值實例的簡單介紹

VB.NET窗體間的數據傳遞

在編寫VB.Net windows應用程序的時候我們經常會遇到這種問題,怎么樣在兩個窗體間傳遞數據呢?例如,用VB.Net做一個文本編輯器,里面有一個搜索功能(即搜索我打開的文本里面的文字),點搜索則彈出搜索對話框,輸入要搜索的內容,然后確定,就可以搜索到我打開的文本里面的文字了,這里就用到了兩個窗體間的相互通信。我查看了相關的資料想了想,得出一些想法和方法。

成都創新互聯公司專注于郫都網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供郫都營銷型網站建設,郫都網站制作、郫都網頁設計、郫都網站官網定制、微信小程序定制開發服務,打造郫都網絡公司原創品牌,更為您提供郫都網站排名全網營銷落地服務。

也許有的人會覺得這個很簡單呀。假如主框架為Form1,打開的搜索對話框是Form2.直接在Form2類中申明一個Form1實例:dim f1 as new Form1然后就可以通過f1來調用Form1中的域和函數了。其實不是這樣的,你申明的新的Form1實例不是原來的那個Form1對象了,這樣操作的是新的Form1中的域和函數,和最先打開的Form1是沒有關系的。

那應該如何來完成兩個窗體的通訊呢?我們要做的是把當前的Form1實例傳遞給Form2,如果是這樣的話,問題就很好解決了。

方法1:首先,我們在Form2中定義:

Private mF_Form As Form1

我們更改Form2的構造函數為有參數的

Public Sub New(ByVal form As Form1)

MyBase.New()

'該調用是 Windows 窗體設計器所必需的。

InitializeComponent()

Me.mF_Form = form

'在 InitializeComponent() 調用之后添加任何初始化

End Sub

在Form1中,我在 要用到Form2的地方申明如下:

Dim f1 As New Form2(Me)

這里的me指的就是Form1當前的實例,也就是把當前Form1的實例通過Form2的構造函數傳遞給Form2類(其實在網上看到過比較蠢的方式,就是在構造函數里面傳遞要傳遞的信息如:字符串或是數字等,這樣做很有局限性,不能傳遞其他的,所有我們可以直接傳遞實例,來完成傳遞更多的信息。)

這樣在Form2中使用myForm 就可以對原來的Form1窗口進行操作了。但是你要把要操作的Form1中的域和函數定義成public形式的(這樣可能不安全),此時的myForm就是真正的最開始打開的Form1了,你可以用這個實例來進行兩個窗體的通訊了。

方法2:其實VB.Net中提供了窗體間進行通訊的現成的屬性,呵呵,我們能想到的,微軟也想到了,他們創造的語言其實確實可以說是人性化了。

在Form1類中申明Form2時用如下代碼:

Dim f2As New Form2 '類Form2中的構造函數不改,還是無參的

f2.owner=me

也可以使用函數的方法,給當前實例添加一個附屬窗口 代碼:Me.AddOwnedForm(f2)

在Form2類的定義中寫如下代碼:

dim f1 as Form1=me.owner

這樣f1對應的就是原來的Form1的實例了,也就可以用這個進行通訊了。但是還是要把不同類之間訪問的域和函數定義成public,哎,安全確實是一個問題!!

vb.net實現窗體間傳值

你需要在form1的程序里實例化form2 再使用form2實例化名稱調用對應的組件屬性 例:

form1_load(){

...

form frmForm2 = new form2();

me.title = frmForm2.textbox1.text;

...

}

VB.net 兩個窗體之間傳遞參數

新窗體中寫構造函數,然后調用。

比如你要調用的新窗體是From1.cs這個窗體,

public Form1(要傳入的參數)

{

//把傳入的參數傳入窗體中

//執行窗體標準內容

}

然后在需要調用的地方調用

Form1 f = new Form1(傳出的參數);

'--------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();

如此就能實現調用了。

vb.net 窗體之間怎么傳值

方法很多,vb.net很簡單的比如: Form2窗體的Textbox2屬性設置為public,在Form1點擊button1.

Dim frm As New Form2

frm.TextBox2.Text = "123"

frm.ShowDialog() 可以取到form1里面窗體傳的值

還有一種方法:From1 :

Dim frm As New Form2

frm.Owner = Me

frm.ShowDialog()

from2 : Private frmParent As Form1

frmParent = Me.Owner

Me.TextBox2.Text = frmParent.TextBox1.Text

本文題目:vb.net傳值實例的簡單介紹
網站鏈接:http://vcdvsql.cn/article28/doicscp.html

成都網站建設公司_創新互聯,為您提供用戶體驗企業網站制作微信小程序動態網站企業建站App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司