2011-11-09 107 views
0

我有一些從多個接入點讀取ssid和rssi的代碼。然而,它是一個控制檯應用程序,我需要將其轉換爲一個winform應用程序。將console.writeline轉換爲RichTextBox.AppendText()c#

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

請向我們展示更多代碼。 – SLaks

+0

@SLaks我已經擴展了代碼 –

回答

2

您必須確保多行屬性爲true RichTextBox的(這是默認的,所以應該是)。使用RichTextBox.AppendText()方法並確保在字符串的末尾添加換行符。

+0

最接近我最終做的。我將文字分開,並在註釋之間放置變量。這是我錯過的啞巴新線! \ n \ n \ n \ n –

1

我這裏假設你正在建立網絡的列表,供多個字符串追加去了,我會建議使用StringBuilderMSDN 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(); 
1
TextBox.Lines= networks.Select(n => string.Format("Found network with SSID {0} and Signal Quality {1}.", n.dot11Ssid, n.wlanSignalQuality)).ToArray();