2014-04-17 28 views
-3

我正在C#中開發Windows應用程序。我們如何在C#中的文本框中將值從一種表單發送到另一種表單#

我的要求是在第一種形式,我有像名稱,身份證,病人等多個文本框。如果我通過ID搜索,姓名和病人信息將顯示在form1,或者如果我按名稱搜索,身份證和病人信息將顯示。它是在我的第一種形式工作..現在我有第二種形式,只有一個文本框,應該假設顯示我輸入的值以第一種形式進行搜索。 (即,假設我使用ID搜索信息,那麼ID應該以第二種形式顯示文本框,或者如果我使用名稱搜索信息,則名稱應該以第二形式文本框顯示)。我在過去3天搜索它,但沒有得到如何做。

謝謝。

+0

檢查此[鏈接](http://social.msdn.microsoft。 com/Forums/vstudio/en-US/d7e9f80c-5144-4ad9-aa5e-7803363ae0cd/passing-variables-between-forms),它會給你一些在表單之間傳遞數據的提示。 – Emi987

回答

0

試試這個

Session["VALUE"] = TextBox1.Text; 
TextBox2.Text = Session["VALUE"].ToString(); 
+0

這是不好的,保存在會話中。它不是類型保存! –

0

您需要將目標對象移動:

二表格構造:

private Form _parentForm; 
public Form2(Form form) { 
    _parentForm= form; 
} 

第一形式調用第二形態

var mySecondForm = new Form2(this); 
mySecondForm.Show(); 

從第二形式的訪問

您可以訪問所有可見的屬性/從ParentForm字段/方法這樣

_parentForm.MyTextbox.Text = "Foo"; 

也許你想在形態1的屬性:

public TextBox MyTextBox { 
    get { 
     return _myTextBox; 
    } 
    set { 
     _myTexBox = myTextBox; 
    } 
} 

確保MyTextboxpublic

0

您可以通過使用自定義構造函數和全局變量以您想要的值的形式來完成此操作。

  public class YourReceivingForm:Form 
      { 

      private string GlobalVariable; 
      public YourReceivingForm(string Text) 
      { 
      IntializeComponenet(); 
      GlobaleVariable=Text; 

      } 

      private void F_Invoice_Load(object sender, EventArgs e) 
      { 
       YourTextBox.Text = GlobalVariable; 
      } 

現在從您發送的值將有一個代碼,這樣的事情在任何情況下,形式你想

YourReceivingForm fm = new YourReceivingForm(YourSendingTextBox.Text); 
fm.Show(); 
相關問題