我需要在各个阶段由多个winform访问两个全局变量。
第一个是关于独特的用户,登录到应用程序后,其他Winforms需要根据登录的用户从SQL Server表中获取数据。
SqlCommand cmd = new SqlCommand("SELECT * FROM regClient WHERE client_ID = **[GLOBAL VARIABLE]**", con);
第二个之后,用户可以登录为 client 或 Student 。需要基于此调用不同的陈述。此值由RadioButton在登录窗口设置。
因此,如果检查了radclient,将全球设置为"客户端",如果检查了radstudent然后,使用其他Winform可以调用SELECT语句或基于全局启用/可见。
我相信我可以将变量存储在 programs.cs 中,但我不确定。
创建一个用户类:
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
可以。