1

我需要两个全局变量,以便在不同阶段由多个 Winform 访问。

首先是关于一个不同的用户,登录到应用程序后,其他winforms需要根据登录的用户从sql server表中获取数据。

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

其次是用户可以作为ClientStudent登录。需要基于此调用不同的语句。此值由登录窗口上的单选按钮设置。

因此,如果选中 radClient 将全局设置为“客户端”,如果选中 radStudent 将全局设置为“学生”,则其他 winform 可以根据全局调用选择语句或启用/可见。


我相信我可以在Programs.cs中存储变量,但我不确定。

4

1 回答 1

2

创建一个用户类:

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

    public static eStatus Status { get; set; }

    public static string Name { get; set; }  
}

你没有说一个变量是什么,所以我猜它是某种标识符,比如他们的名字。

您可以通过以下方式设置用户的状态:

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
}

如果只能有两个值,则不需要第二个User.Status

于 2012-10-28T02:32:34.720 回答