把控制台.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")
你必须确保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();