2012-04-17 106 views
1

當我雙擊我的form1中的文本框時,打開一個數據網格。我需要在form2中對數據網格的單元格進行兩次單擊,當我單擊它時,它已經爲form1中的文本框帶來了價值。我已經嘗試了許多方法不再有效,他已經自動運行,在我單擊單元格之前,會自動在文本框中添加值,任何人都可以幫忙嗎?以另一種形式將數據傳遞給Datagrid文本框

我嘗試這樣做:

在Form1

  Ncm Ncm formNcm = new(); 
     formNcm.Show(); 
     ncmcb.Text formNcm.getNCM =(); 
     ncmcb.Focus(); 

的窗口2

公共字符串getNCM() { = dataGridView1.CurrentCell.Value.ToString VALUE2串(); 返回值2; } 只有這樣,它選擇已經擁有DataGrid的價值,我無法改變,如果我改變它沒有考慮的價值爲文本框在Form1

+0

能否請您進一步澄清,不幸的是它是很難理解你的意思:( – 2012-04-17 23:51:27

+0

我想將值傳遞給另一種形式的數據網格文本框 – 2012-04-17 23:53:46

+0

因此,您有Form1和Form2。從form1開始Form2,並且您想傳遞一個值?還有,它是Web應用程序還是Windows? – 2012-04-17 23:56:04

回答

0

設計智慧,一種形式應該永遠知道其他形式有一個文本框或下拉或其他控制。理想情況下,兩種形式應通過公共財產或自定義事件進行交互。

分配值從窗體2到Form1

  1. 定義表格的自定義事件2

  2. 請在Form1與該事件註冊,這樣,當表2樓的火災吧,Form1中能抓住它。

  3. 捕獲Form2中的網格單元格單擊事件並激發自定義事件。您將使用EventArgs來傳遞值。

  4. 在Form1,事件處理程序應該得到的行動和那裏你可以指定2

這裏的做的正是將物品從形式發送的值:http://www.codeproject.com/Articles/17371/Passing-Data-between-Windows-Forms,如果你想

從Form2分配一個值到Form1,

在表格2中,定義一個屬性,如。

publis string MyTextBoxValue //Choose a better name :) 
{ 
    set {myTextBox.Text = value;} 
} 

而當你打開窗體,您在下面的方式調用,

 Ncm Ncm formNcm = new(); 
    formNcm.MyTextBoxValue = "Grid Cell Value"; //Whatever your value is 
    formNcm.Show(); 
    ncmcb.Text formNcm.getNCM =(); 
    ncmcb.Focus(); 
+0

**幾乎如此,請參閱:form1包含ncmcb.Text,這是我單擊以打開form2的位置。 form2包含datagrid我想獲取一個值併發送到form1中的ncmcb.Text,你知道嗎?** – 2012-04-18 00:15:07

+0

我明白了。所以Form2具有網格單元,並且該值需要分配給Form 1.在這種情況下,您需要一個不同的解決方案。讓我更新我的答案。 – 2012-04-18 00:16:40

+0

我聽不懂 – 2012-04-18 00:32:03

相關問題