0

ご存知のように、WinForm にはセッションがありません。プロジェクトにいくつかのフォーム (Customer、Service、Operator など) があり、Operator からいくつかの値 (operator Name、Operator LastName、および Profile Picture アドレス) を取得します。この値を実行時のどこかに保存したいと思います。必要なときはいつでも、保存した場所から取得できます。

これを行う簡単な方法はありますか?

4

3 に答える 3

1

これを行う最も簡単な方法は、必要なclassデータを含むフォームからアクセスできる を作成することだと思います

// Class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myNameSpace
{
    class Class1
    {
        public static string Name = "";
        public static string LastName = "";
        public static string ProfilePictureaddress = "";
    }
}

これを使用すると、データを保存または取得するときはいつでも を使用できますmyNameSpace.Class1。たとえば、 に保存するName場合は、 を使用できますmyNameSpace.Class1.Name = "value";。に設定さNamevalueます。

ありがとう、
ハッピーホリデー!:)

于 2012-12-26T09:32:01.297 に答える
1

これは長年の Web 開発者の言葉だと思います。私はあなたの友人を聞いています。そこに行ったことがある...

Web プログラミングのセッション オブジェクトは、ステートレス環境で状態を保存する問題を回避するための単なる回避策です。一方、winforms プログラミングにはこの問題はありません。アプリケーションには、すべての状態情報を保持するオブジェクトがあります。

あるフォームから別のフォームに情報を渡す場合:

  1. 受信フォーム コンストラクターでパラメーターを定義して、パラメーターを渡すことができます。次に、受信フォームでローカル変数を定義して、それらのオブジェクトへの参照を保持します。
  2. 受信フォームに別のメソッドを設定して、パラメーターを送信し、送信フォームから呼び出すことができます。
  3. 送信者フォーム(または他の場所)で情報を公開し、必要なときに受信フォームから取得できます。

どれが一番いいですか?ビジネス ケースとアプリケーション ロジックに完全に依存します。

于 2012-12-26T09:27:31.200 に答える
0

また、次のようなプロジェクト プロパティを使用することもできます。

//書きます

Properties.Setting.Default["キー"] = 値;

Properties.Setting.Default.Save();

//読んだ

値 = Properties.Setting.Default["キー"];

于 2012-12-26T11:15:01.783 に答える