字符串结果成多行文本框

use*_*928 1 .net c# windows .net-3.5

我一直试图在我的TextBox中获得多个结果,但我无法做到正确.有人可以告诉我一个将这个数组显示在文本框中的例子吗?

public ArrayList GetUserGroups(string sUserName)
{
    textBox1.Multiline = true;
    ArrayList myItems = new ArrayList();
    UserPrincipal oUserPrincipal = GetUser(sUserName);

    PrincipalSearchResult<Principal> oPrincipalSearchResult = oUserPrincipal.GetGroups();
    textBox1.Multiline = true;
    foreach (Principal oResult in oPrincipalSearchResult)
    {
        myItems.Add(oResult.Name);
        textBox1.Text = oResult.Name.ToString();
    }
    return myItems;
}
Run Code Online (Sandbox Code Playgroud)

And*_*rei 5

这条线

textBox1.Text = oResult.Name.ToString();
Run Code Online (Sandbox Code Playgroud)

每次执行时都会覆盖文本框中的文本.您真正想要做的是将每个新字符串附加到文本框中已有的文本:

textBox1.Text += oResult.Name.ToString() + Environment.NewLine;
Run Code Online (Sandbox Code Playgroud)

此外,如果找到的主体数量相对较大,使用StringBuilder可能会给您带来更好的性能:

StringBuilder text = new StringBuilder();
foreach (Principal oResult in oPrincipalSearchResult)
{
    myItems.Add(oResult.Name);
    text.Append(oResult.Name);
    text.AppendLine();
}

textBox1.Text = text.ToString();
Run Code Online (Sandbox Code Playgroud)