0

我正在为我的主要表单使用一个简单的显示/隐藏功能。我需要通过不同的许可证,其中:

  1. 如果我启动我的应用程序并且没有人登录,则标签页应该消失,
  2. 在有人登录的那一刻,应该显示带有各自许可的选项卡。

我在这个线程上找到了答案,并尝试应用它,但似乎我错过了一些东西。

我的函数代码如下

public void TabPage1Permission(frmMain formMain, profile myProfile)
{
    if (myProfile.Equals(profile.Visitor))
    {
        formMain.tabPage1.Enabled = false;
        formMain.tabPage1.Visible = false;
    }
    else
    {
        formMain.tabPage1.Enabled = true;
        formMain.tabPage1.Visible = true;
    }
}

在这段代码中:

  • profile 是一个具有三个值的枚举,其中只有值“visitor”没有查看 TabPage1 的权限。

    公共枚举配置文件 { 访问者 = 0,管理员 = 1,编辑器 = 2 };

  • 您看到的函数在我的主窗体的起始代码中调用。

  • 此功能与我用来根据我的应用程序的要求管理许可证的主表单不同。
  • 我已经更改了主窗体内所有组件中的修饰符,因此我可以在窗体的主代码类之外使用它们。
4

1 回答 1

1

编辑:感谢@KingKing 的评论,我在另一个线程中找到了另一个选项,我对其进行了如下调整:

public void TabPage1Permission(frmMain formMain, profile myProfile, int index)
{
    if (myProfile.Equals(profile.Visitor))
    {
        formMain.tabControl.TabPages.Remove(formMain.TabPage1);
    }
    else
    {
        formMain.tabControl.TabPages.Insert(index, formMain.TabPage1);
    }
}

有了这个,我检查用户是否是访问者,然后我在我的主 TabControl 中显示选项卡

于 2013-10-11T11:45:18.080 回答