源码地址:http://download.csdn.net/detail/ericwuhk/9719157
/// <summary>
/// 调用webservice接口获取城市天气情况
/// </summary>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public WeatherWS.WeatherWS ws;
public Form1()
{
InitializeComponent();
ws = new WeatherWS.WeatherWS();
}
private void button1_Click(object sender, EventArgs e)
{
DataSet ds = ws.getRegionDataset();
DataTable dt=ds.Tables[0];
String str_temp;
this.comboBox1.Items.Clear();
//for (int i = dt.Rows.Count-1; i >=0; i--)
for (int i = 0; i < dt.Rows.Count; i++)
{
str_temp=dt.Rows[i][0].ToString() + dt.Rows[i][1].ToString();
this.comboBox1.Items.Add(str_temp);
}
this.comboBox1.SelectedIndex=0;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
String provinceCode=GetNumbers(this.comboBox1.Text);
DataSet ds = ws.getSupportCityDataset(provinceCode);
DataTable dt = ds.Tables[0];
String str_temp;
this.comboBox2.Items.Clear();
this.listBox1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
str_temp = dt.Rows[i][0].ToString() + dt.Rows[i][1].ToString();
//listBox1.Items.Insert(0, str_temp);
listBox1.Items.Add(str_temp);
this.comboBox2.Items.Add(str_temp);
}
this.comboBox2.SelectedIndex = 0;
//this.comboBox2.SelectedIndex = dt.Rows.Count-1;
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
String theCityID = GetNumbers(this.comboBox2.Text);
string[] str;
string str_temp;
str = ws.getWeather(theCityID, "");
listBox2.Items.Clear();
//for (int i = 0; i < str.Length; i++)
for (int i = str.Length - 1; i >= 0; i--)
{
str_temp = str[i];
listBox2.Items.Insert(0, str_temp);
}
}
/// <summary>
/// 从字符串中提取所有数字
/// Returns:所有数字
/// </summary>
/// <param name = "p_str"> 需要提取的字符串 </param>
/// <returns> 所有数字 </returns>
///
public static string GetNumbers(string p_str)
{
string strReturn = string.Empty;
if (p_str == null || p_str.Trim() == "")
{
strReturn = "";
}
foreach (char chrTemp in p_str)
{
if (!Char.IsNumber(chrTemp))
{
strReturn += chrTemp.ToString();
}
}
return strReturn;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.comboBox2.SelectedIndex=this.listBox1.SelectedIndex;
}
}
}
参考网址:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
本文介绍了一个使用C#实现的简单应用程序,该程序通过调用WebService接口来获取指定城市的天气情况。应用程序包括从省份列表中选择城市,并显示所选城市的天气预报。

2936

被折叠的 条评论
为什么被折叠?



