2011-08-16 35 views
0

我想在這裏按鈕點擊事件傳遞一些值到不同的形式。 plz指導我。我使用c sharp.net 2005,贏取表格。我想從表單1變量接收表單2中的sql查詢中的值。如何在表單之間進行數據通信?

+0

你能發表更多的代碼嗎?如果form2是表單1中的類級變量,那麼您可以使用一個函數。你可以做一些消息...沒有更多的代碼,很難猜測你的項目設置,並幫助你找到正確的方向 – Sascha

+0

這個問題不是MSSQL相關的,使用你想傳輸的內容並不重要在後面的SQL查詢中 – Sascha

+1

PLease更詳細地解釋你的問題,你有兩種形式,你想從一個到其他形式的字段? – saber

回答

1

您有幾種選擇:

  • 將數據傳遞到子窗體
  • 暴露在父形式的實例屬性的構造函數,然後傳遞形式作爲參數傳遞給子窗體
  • 在父窗體公開靜態屬性
+0

真的有幫助! – Arush

0

如果數據是必需的,您可以通過子窗體的構造函數傳遞它,或者如果它是可選的,則通過屬性傳遞它。

+0

Obviuosly,如果在用戶輸入要在Form1中傳遞的數據時已經構造了Form2,則無法通過Form2的構造函數傳遞數據(必需或不是)。 –

+0

我沒有孩子的形式。這兩種形式是分開的形式。兩者之間唯一的依賴關係是表單1的行爲就像一個包含特定按鈕的菜單,通過按鈕單擊事件使其他表單可見 – Arush

1

使用委託。這是你可以談論的最佳方式。或者如建議的那樣,如果form2是form1的子項,則ctor參數爲基礎。如果它的兩個獨立的,然後代表。

0

試試這個代碼,你必須做類似下面的代碼: 這個事件你必須通過達內ta到其他

private void button1_Click(object sender, EventArgs e) 
    { 
     Form2 secondForm = new Form2(); 
     secondForm.YourProperty = "This is your data"; 
     secondForm.Show(); 
    } 

在其他形式的,你必須聲明一個屬性:

public string YourProperty { get; set; } 

希望這有助於。

+0

我不想在運行時創建動態表單。表格1和表格2由特定按鈕設計。表單1是菜單表單,表單2是點擊按鈕事件後顯示的表單。 – Arush

+0

這是一個Arush示例,假設這個按鈕的事件處理程序是第一種形式,當用戶出現並點擊您的特定按鈕時,此事件將觸發,然後創建第二個窗體的實例並傳遞您的數據,最後顯示form2。 – saber

+0

我會試試這個,讓你知道如果問題持續存在 – Arush

相關問題