Есть еще один способ, если вы не хотите прокручивать элементы управления «ALL», как предположил Джо Дабонс. Сделайте функцию в Form2 и вызовите ее из Form1.
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public void SetIndex(int value)
{
lsbMyList.SelectedIndex = value;
}
}
public partial class Form1 : Form
{
public Form2 frm;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
frm=new Form2();
frm.Show();
}
private void button1_Click(object sender, EventArgs e)
{
frm.SetIndex(Int.Parse(textBox1.Text));
}
}
Думаю, вам нужно перечислить группы.
Взгляните на эти два ответа, чтобы узнать о различных методах:
Посмотрите, входит ли пользователь в группу Active Directory в C # + Asp.net.
Как написать запрос LDAP, чтобы проверить, является ли пользователь членом группы group?
Если вы проверяете текущего пользователя и знаете имя нужной вам группы, вам не нужно перечислять все группы. Вот пример кода на VB.NET:
Public Function IsInGroup(ByVal GroupName As String) As Boolean
Dim MyIdentity As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent()
Dim MyPrincipal As System.Security.Principal.WindowsPrincipal = New System.Security.Principal.WindowsPrincipal(MyIdentity)
Return MyPrincipal.IsInRole(GroupName)
End Function
Аналогично на C#:
private static bool IsInGroup(string GroupName)
{
System.Security.Principal.WindowsIdentity MyIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
System.Security.Principal.WindowsPrincipal MyPrincipal = new System.Security.Principal.WindowsPrincipal(MyIdentity);
return MyPrincipal.IsInRole(GroupName);
}
Больше примеров можно найти в документации WindowsIdentity, если вам нужно настроить его для проверки членства другого пользователя или чего-либо еще.