關於如何操作其他表單的控制項或變數的方法

來源:互聯網
上載者:User
變數|控制項 關於如何操作其他表單的控制項或變數的方法!

其實解決的方法有很多,在這裡只做簡單的總結。對於其他方法,請多指教!

1. 定義全域變數

其實這個方法比較簡單也很好理解,我們只要在一個module裡面定義了兩個全域變數就可以了。

例如:public frm1 as new form1()

Public frm2 as new form2()

這樣,我們無論在哪裡想訪問就很容易了。但是,這樣做會耗費比較多的系統資源。一般來說不要使用全域變數。

2. 使用shared 首碼

使用了shared定義的欄位(變數)或者屬性可以被其他表單調用。

例如:(假設有表單form1 和 form2 )

在form1中寫入:

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

在form2中寫入:

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.這種方法傳遞一個表單執行個體過去,這樣就可以獲得該執行個體的變數與屬性了。當然也可以對他們進行操作。

例如:在form1中

Dim frm As New Form2(me)

frm.Show()

在form2中:

Dim m_parent as form1

Public Sub New(ByVal sender As Object)

MyBase.New()



'該調用是 Windows 表單設計器所必需的。

InitializeComponent()

M_parent=ctype(sender,form1)

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

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

注意:這種方法可以很方便的獲得和使用另一個表單的變數和控制項,是一個不錯的選擇。如果我們只是想從form1獲得一些變數或屬性的值的話,可以直接傳遞變數或屬性過去,而不是表單的執行個體。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。