2011-11-11 8 views
0

私は1つのフォームを隠しているし、別のフォームに行くが、私は最初のフォームで計算された変数の値を使用しようとしています。私が立ち上がっているとき、4番目のフォームを仮定すると、私はゼロになるので、form1でこれらの値を使用することはできません。私の関数は常にそれらの値を使用してゼロを生成するので、 何が間違っている可能性があるのか​​教えていただけますか? これはあなたが表示されているフォームは、そのクラスのインスタンスであり、したがって、クラスがある がFormので、あなたにC#フォームの値の保持

+0

値を格納するときは、フォームのアクションに直接格納するか、何らかのオブジェクトを使用します。 –

+0

なぜあなたの質問をクリアするよりも 'Session'.ISに最初のフォームの値を保存しないでください。 –

+0

既存のものを使用せずに、Formクラスの新しいインスタンスを作成しています。これまでにVisual Basicでプログラミングしていた場合は、Application.OpenFormsが便利です。 –

答えて

4

に感謝し、私はその後、私のコードをより詳細に問題を説明することができ、問題のように見えるdoesent場合は、データがあります本当にそのフォームにローカル。新しいインスタンスを表示している場合は、元のデータは消えています。

アイデアは、パブリックメソッドまたはプロパティを使用して、これらのフォームからデータを取得することです。

public class MyForm : Form 
{ 
    TextBox t = new TextBox(); 

    public string TBData 
    { 
     get { return t.Text; } 
    } 
} 

// outside: 
Form f = new MyForm(); 
f.Show() 

//f.TBData will get what is in the text box. 
+0

私が作成したフォームは公開されており、3番目のフォームの最初のフォームに作成された値を使用しようとしていますが、それは役に立たないものです。 –

+0

@VaibhavAggarwal最初のフォームの参照は他に渡されますあなたは公共のプロパティを介して値にアクセスできるはずです – V4Vendetta

+0

それぞれのフォームの適切なオブジェクトを作成して変数を呼び出しました –

関連する問題