使用 VB.NET 2010:
我正在为我们的工作应用程序制作一个简单的“启动器”应用程序。我已经创建了包含我想要的菜单的 ToolStripMenu。它们将像这样排列:
文件 | 1 部 | 2 部 | 3 部 | 管理员 | 帮助
我需要做的是根据 Environment.UserName 变量限制对 Admin 菜单的访问。理想情况下,我希望它甚至不渲染 - 但如果唯一的选择是让它变灰,我也可以接受。
使用 VB.NET 2010:
我正在为我们的工作应用程序制作一个简单的“启动器”应用程序。我已经创建了包含我想要的菜单的 ToolStripMenu。它们将像这样排列:
文件 | 1 部 | 2 部 | 3 部 | 管理员 | 帮助
我需要做的是根据 Environment.UserName 变量限制对 Admin 菜单的访问。理想情况下,我希望它甚至不渲染 - 但如果唯一的选择是让它变灰,我也可以接受。
public Form1() {
InitializeComponent();
var id = System.Security.Principal.WindowsIdentity.GetCurrent();
var prince = new System.Security.Principal.WindowsPrincipal(id);
adminToolStripMenuItem.Visible = prince.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
}
LAN 管理员可以通过多种方式移动奶酪。您可以从我发布的非常尴尬的代码中看出。通常需要使用 System.DirectoryServices 中的类查询域控制器。