1

さまざまな段階で複数のWinFormからアクセスできる2つのグローバル変数が必要です。

1つ目は、個別のユーザーに関するものです。アプリにログインした後、他のWinFormは、ログインしたユーザーに基づいてSQLサーバーテーブルからデータを取得する必要があります。

SqlCommand cmd = new SqlCommand("SELECT * FROM regClient WHERE client_ID = **[GLOBAL VARIABLE]**", con);

2つ目は、ユーザーがクライアントまたは学生としてログインできるという点で、これに続きます。これに基づいて、さまざまなステートメントを呼び出す必要があります。この値は、ログインウィンドウのラジオボタンで設定されます。

したがって、radClientが「client」にグローバルに設定されている場合、radStudentが「student」にグローバルに設定されている場合、他のWinFormを使用して、グローバルが何であるかに基づいてselectステートメントまたはenable/visibleを呼び出すことができます。


変数をPrograms.csに格納できると思いますが、よくわかりません。

4

1 に答える 1

2

Userクラスを作成します。

public class User
{
    public enum eStatus
    {
         Client,
         Student
    }

    public static eStatus Status { get; set; }

    public static string Name { get; set; }  
}

1つの変数が何であるかを言わなかったので、それは名前のようなある種の識別子であると推測しました。

ユーザーのステータスは次の方法で設定できます。

User.Status = User.eStatus.Client;

と名前:

User.Name = "Charlie";

どこからでも値にアクセスして設定できます。

コメント応答:

ifは次のようになります。

if (Program.User.Status == Program.User.eStatus.Client)
{
   // commands
}
else // if (Program.User.Status == Program.User.eStatus.Student)
{
   // commands
}

持つことができる値は2つしかないため、2番目の値は必要ありませんUser.Status

于 2012-10-28T02:32:34.720 に答える