如何在 C# WinForms 中从 API 接收数据时在文本框中追加新行
How to append a new line in a textbox when receiving data from an API in C# WinForms
我正在尝试从 https://ip-api.com 检索数据。我请求了多个变量,并想附加每一行不同的数据。我有一个文本框,并在同一个 link 请求中请求了多个变量。
让我举一个我现在拥有的例子。
WebClient wc = new WebClient();
string results = wc.DownloadString("http://ip-api.com/line/?fields=status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query");
textBox1.Text = results;
输出结果如下
successNorth AmericaNAUnited StatesUScensoredForPrivacy
我希望它看起来像这样
success
North America
NA
United States
US
CensoredForPrivacy
如何使用我提供的方法或有其他方法吗?
WebClient
方法 DownloadString
将附加 LF 换行符 (\n) 但 TextBox
需要 CRLF 换行符 (\r\n)。
这可以通过在 \n
处拆分然后使用 AppendText(Environment.NewLine)
来解决
string results = wc.DownloadString("http://ip-api.com/line/?fields=status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query");
string[] headers = results.split("\n");
foreach(string s in headers) {
textBox1.AppendText(s);
textBox1.AppendText(Environment.NewLine);
}
我正在尝试从 https://ip-api.com 检索数据。我请求了多个变量,并想附加每一行不同的数据。我有一个文本框,并在同一个 link 请求中请求了多个变量。
让我举一个我现在拥有的例子。
WebClient wc = new WebClient();
string results = wc.DownloadString("http://ip-api.com/line/?fields=status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query");
textBox1.Text = results;
输出结果如下
successNorth AmericaNAUnited StatesUScensoredForPrivacy
我希望它看起来像这样
success
North America
NA
United States
US
CensoredForPrivacy
如何使用我提供的方法或有其他方法吗?
WebClient
方法 DownloadString
将附加 LF 换行符 (\n) 但 TextBox
需要 CRLF 换行符 (\r\n)。
这可以通过在 \n
处拆分然后使用 AppendText(Environment.NewLine)
string results = wc.DownloadString("http://ip-api.com/line/?fields=status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query");
string[] headers = results.split("\n");
foreach(string s in headers) {
textBox1.AppendText(s);
textBox1.AppendText(Environment.NewLine);
}