采用winfom,在文本框中输入城市名称,然后单击按钮弹出消息框,输出城市天气
时间: 2024-03-27 14:37:27 浏览: 63
好的,您可以使用第三方的天气 API 来获取城市天气信息,并在单击按钮时调用 API,然后将返回的天气信息显示在消息框中。以下是一个简单的示例代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
string cityName = textBox1.Text;
string apiKey = "your_api_key_here"; // 请替换成您的 API Key
string apiUrl = $"http://api.openweathermap.org/data/2.5/weather?q={cityName}&appid={apiKey}";
try
{
using (var client = new WebClient())
{
string json = client.DownloadString(apiUrl);
dynamic data = JsonConvert.DeserializeObject(json);
string weather = $"{data.weather[0].description}, 温度 {data.main.temp}℃, 湿度 {data.main.humidity}%";
MessageBox.Show(weather, $"'{cityName}' 的天气");
}
}
catch (WebException ex)
{
MessageBox.Show($"获取天气信息失败: {ex.Message}");
}
}
```
请注意,此示例代码使用了 Newtonsoft.Json 库来解析 JSON 数据,请确保已将其添加到项目引用中。同时,您还需要注册并获取一个 API Key 才能使用 OpenWeatherMap 的天气 API。
阅读全文