2012-01-16 19 views
0

私はウェブカメラアプリを書いているので、約15の変数を書いて読んでおく必要があります。私はメインウィンドウとオプションウィンドウという2つのフォームを持っています。私は私のオプションを保存すると、私はこのような何か:私のメインウィンドウで別の方法でリストから変数を取得しますか?

string[] lines = {x , y, ..., z }; 

System.IO.File.WriteAllLines(@"config.cfg", lines); 

を私は、StreamReaderを関数を使用して変数をお読みください。

public void Foo() 
{ 

    List<string> lines = new List<string>(); 

    while (!reader.EndOfStream) 
    { 
     lines.Add(reader.ReadLine()); 

     reader.Close(); 
    } 

    x = Convert.ToInt32(lines[0]); 
    y = Covert.ToString(lines[1]); 
    // and so on... 
} 

問題は、私はxにアクセスする方法がわからないです別の方法ではyである。 Btw:すべての変数をpublic staticとして宣言しました。誰でも助けてくれますか?

編集

これは、2つのウィンドウが同時に存在しない、Windowsフォームアプリです。多分、誰かが私に、別の方法を使ってそれらの変数をどのように保存するのかのヒントを与えることができますか?私ができることがわかっている唯一の事は、MySQLデータベースを使ってvarsを保存することですが、それほど意味がありません。

私がしたいことは、Fooから別の方法にxyを渡すことです。ファイルから変数を読み込むにはメソッドが必要なので、グローバル変数は使用できません。

+0

xとyをどこで宣言していますか? 'string [] lines'をpublic staticとして宣言してみませんか? –

+0

はviewstatesの助けとしてxとyを設定しますか?または多分あなたのラインアレイビューステートに保存 – Andres

+0

まあ、私はあなたの質問に答える方法を知らない。あなたはそれをすべて間違っていますが、あなたに説明するのは難しいでしょう... – Zruty

答えて

0

使用特性=>あなたはそれを次の時間を必要とする場合は、あなたの値を保存するために設定します。 シンプルで、いくつかの問題を避けるのに役立ちます

+0

[OK]を、コードプロジェクトのチュートリアルを見つけて、私を助けてくれました!ありがとう! –

0

両方のフォームが同時に存在しますか?つまり、SkypeではメインのSkypeウィンドウとチャットウィンドウがありますか?

CameraLpdatedイベントを作成すると、そのメンバーが変更された行がすべてのサブスクライバに送信されます。メインウィンドウを新しい子ウィンドウイベントにバインドするだけで、通知されます。あなたがデータを渡すためにカスタムイベント引数、イベント名と引数のデリゲートを作成し、フォーム上の実際のイベントを公開する必要があります。これを行うために

一度に1つのフォームしか存在しない場合は、メモリ内にデータをプッシュしてから読み込み(現在の実装とよく似ています)したり、あるフォームから別のフォームに切り替えると変更されたデータを渡します。

最終的に私はグローバルスタイルのデータをファイル、メモリ、またはグローバルプログラム変数に入れないようにしようとしていますが、実際に実装していることを知らないと、 public staticとして宣言されている

+0

2つのフォームが同時に存在する可能性がありますが、カメラストリームはオフになっています。設定は、ストリームが再びオンにされたときに適用されます(変数はfps値などを保持することになっています)。変数を読み書きする別の方法を私に見せてもらえれば、私は感謝しています –

0

クラスのメンバーが持つアクセスできます。

ClassName.MemberName 
関連する問題