我有一些代码从多个访问点读取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")
答案 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();