c# - Windows 窗体中的多个用户

标签 c# winforms

我正在做一个项目,我需要一些实现想法。到目前为止,我使用的是 Windows 窗体。该应用程序将由同一台电脑上的不同用户使用。我不是一个很好的相关者,所以我会给你一个场景:

1. The application starts by showing a login form.

2. The user "John" enters the application and makes some modifications in the database through a form.

3. "John" quits the form. At this point I want that login form to be shown again where user "Brad" should be able to log in.

4. "Brad" should be able to see the modification made by "John" and it should be able to make some modifications too.

请帮我举一些例子。

稍后编辑: 我试过这个:

form_login login = new form_login();
DialogResult result = login.ShowDialog();

if (result == DialogResult.OK)
{
  Application.Run(new main_page());
}
else if (result == DialogResult.Yes)
{
  Application.Run(new admin_page());
}
else if (result == DialogResult.No) // Back button 
{
  Application.Run(new form_login());
}
else
{
  Application.Exit();
}

稍后编辑:

我遇到的问题是用户注销时。应用程序停止,但我想要的是指向登录表单。

最佳答案

您可以将其添加到您的主要起点。基本上,一旦用户通过登录表单,您就需要能够再次循环执行该过程:

static void Main()
{
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);

  DialogResult running = DialogResult.OK;
  while (running == DialogResult.OK) {
    form_login login = new form_login();
    Application.Run(login);
    running = login.DialogResult;
    if (login.DialogResult == DialogResult.OK)
      Application.Run(new Form1());
      // or your other forms...
  }
}

这是假设您的登录表单有一个确定和一个设置这些对话框结果的取消按钮。

如果登录有效,则会启动主窗体 Form1。当用户关闭 Form1 时,它会再次启动登录表单。如果用户取消登录,则应用程序退出。

关于c# - Windows 窗体中的多个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898042/

相关文章:

c# - 目标航向的转向

c# - Dapper map multiple join Sql Query

c# - 如何在 WinForms 中强制用户使用管理员帐户

c# - 如何摆脱选中的列表框选择突出显示效果?

C# 如何识别两个对象之间的碰撞

c# - log4net 不写入文件

c# - 尽管更改分辨率,视频捕获输出始终为 320x240

c# - 在 .NET 应用程序中传递 XML 的最佳方式是什么?

c# - 从 C# 中的 URI 字符串获取文件名

c# - 如何捕获子控件下的 mousemove 事件