C#使用列表中的按钮删除用户

时间:2017-10-31 13:14:51

标签: c# combobox active-directory

我想使用按钮从下拉列表中删除用户。该列表由AD用户填充。代码如下。

        private void generate_Combobox()
    {
        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
        UserPrincipal qbeUser = new UserPrincipal(ctx);
        PrincipalSearcher srch = new PrincipalSearcher(qbeUser);

        foreach (var found in srch.FindAll())
        {
            UserPrincipal foundUser = found as UserPrincipal;

            if (foundUser != null && foundUser.GivenName != null && foundUser.Surname != null)
            {
                cmb_Students.Items.Add(foundUser.GivenName + " " + foundUser.Surname + " " + "[" + foundUser.SamAccountName + "]");
            }
        }
    }

现在问题在于按钮。我发现了一种删除用户的方法,但不知道如何使其与我的列表兼容。

private void btn_DeleteStudent_Click(object sender, EventArgs e)
    {
        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

        UserPrincipal user = UserPrincipal.FindByIdentity(ctx, selectedUser);

        if (user != null)
        {
            user.Delete();
        }

1 个答案:

答案 0 :(得分:0)

我认为你想要达到的目标非常简单(如果我理解正确的话)。

您只需要从下拉菜单中获取所选用户,例如

string selectedUser = cmb_Students.SelectedItem.ToString();
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, selectedUser);

        if (user != null)
        {
            user.Delete();
        }

然后,根据组合框cmb_Students中的项目的外观以及进一步操作的需要,您可以继续删除。或者你的问题是什么?