将console.writeline转换为RichTextBox.AppendText()c#

时间:2011-11-09 18:52:16

标签: c# visual-studio-2010 console

我有一些代码从多个访问点读取ssid和rssi。但它是一个控制台应用程序,我需要将其转换为winform应用程序。

WlanClient client = new WlanClient();
        foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
        {
            Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);
            foreach (Wlan.WlanAvailableNetwork network in networks)
            {
                Console.WriteLine("Found network with SSID {0} and Siqnal Quality {1}.", GetStringForSSID(network.dot11Ssid), network.wlanSignalQuality);
            }

我希望将在控制台中打印列表的行转换为将打印到富文本框的一行(或多行)。我尝试过的所有内容都只是从列表中打印了一个条目。

由于

修改 感谢您的回复,这就是我的选择..

richTextBox1.AppendText("Found network with SSID---" + GetStringForSSID(network.dot11Ssid) + "and Siqnal Quality---" + rssi + "\n")

3 个答案:

答案 0 :(得分:2)

您必须确保RichTextBox上的Multiline属性为true(这是默认值,因此它应该是)。使用RichTextBox.AppendText()方法,并确保在字符串的末尾添加换行符。

答案 1 :(得分:1)

我在这里假设你正在构建一个网络列表,对于多个字符串附加,我建议使用StringBuilder MSDN Link

这样的事情应该有效:

StringBuilder builder = new StringBuilder();
foreach(Wlan.WlanAvailableNetwork Network network in networks)
{
    string ssidString = GetStringForSSID(network.dot11Ssid);
    builder.AppendFormat("Found network with SSID {0} and Signal Quality {1}.", ssidString , network.wlanSignalQuality).AppendLine();
}
textBox.Text = builder.ToString();

答案 2 :(得分:1)

    TextBox.Lines= networks.Select(n => string.Format("Found network with SSID {0} and Signal Quality {1}.", n.dot11Ssid, n.wlanSignalQuality)).ToArray();