把控制台.writeline to RichTextBox.AppendText()

本文关键字:AppendText RichTextBox to 控制台 writeline | 更新日期: 2023-09-27 18:13:54

我有一些代码从多个接入点读取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")

把控制台.writeline to RichTextBox.AppendText()

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

我假设这里你正在建立一个网络列表,对于多个字符串追加,我建议使用StringBuilder MSDN链接。

应该这样做:

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