您的位置:首页 > 编程语言 > C#

C#调用WebService制作天气预报

2014-03-17 16:23 519 查看
目前基于互联网的编程新兴起面向服务的编程,即通过Web中网站提供的服务接口进行编程。

下面介绍一个调用WebService制作天气预报的方法:

 

添加Web引用:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace 天气助手

{

    public partial class Weather : Form

    {

        public Weather()

        {

            InitializeComponent();

        }

        public string[] GetWeather(string xCity)

        {

            cn.com.webxml.www.WeatherWebService mWeatherWebService = new cn.com.webxml.www.WeatherWebService();

            string[] WeatherOfCity = mWeatherWebService.getWeatherbyCityName(xCity);

            return WeatherOfCity;

        }

        private void Weather_Load(object sender, EventArgs e)

        {

        }

        public void Weather_Shown(object sender, EventArgs e)

        {

            try

            {

                cn.com.webxml.www.WeatherWebService mWeatherWebService = new cn.com.webxml.www.WeatherWebService();

                string[] mArea = mWeatherWebService.getSupportProvince();

                int mCount = mArea.Length - 1;

                comboBox01.Items.Clear();

                for (int mI = 0; mI <= mCount; mI++)

                {

                    comboBox01.Items.Add(mArea[mI].ToString());

                }

                comboBox01.SelectedIndex = 0;

                               

            }

            catch

            {

            }

        }

        public void comboBox01_SelectedIndexChanged(object sender, EventArgs e)

        {

            try

            {

                cn.com.webxml.www.WeatherWebService mWeatherWebService = new cn.com.webxml.www.WeatherWebService();

                string[] mCity = mWeatherWebService.getSupportCity(comboBox01.Text);

                int mCount = mCity.Length - 1;

                comboBox02.Items.Clear();

                for (int mI = 0; mI <= mCount; mI++)

                {

                    comboBox02.Items.Add(mCity[mI].Remove(mCity[mI].IndexOf("(")));

                }

                comboBox02.SelectedIndex = 0;

            }

            catch

            {

            }

        }

        public void comboBox02_SelectedIndexChanged(object sender, EventArgs e)

        {

            try

            {

                string[] WeatherOfCity = GetWeather(comboBox02.Items[comboBox02.SelectedIndex].ToString());

                label03.Text = WeatherOfCity[0].ToString();

                label05.Text = WeatherOfCity[1].ToString();

                label06.Text = WeatherOfCity[10].ToString();

                //今天

                pictureBox01.ImageLocation = @"images/weather/" + WeatherOfCity[8].ToString();

                pictureBox02.ImageLocation = @"images/weather/" + WeatherOfCity[9].ToString();

                label07.Text = WeatherOfCity[6].ToString() + WeatherOfCity[5].ToString() + WeatherOfCity[7].ToString();

                label08.Text = WeatherOfCity[11].ToString();               

                //明天

                pictureBox03.ImageLocation = @"images/weather/" + WeatherOfCity[15].ToString();

                pictureBox04.ImageLocation = @"images/weather/" + WeatherOfCity[16].ToString();

                label16.Text = WeatherOfCity[13].ToString() + WeatherOfCity[12].ToString() + WeatherOfCity[14].ToString();

                //后天

                pictureBox05.ImageLocation = @"images/weather/" + WeatherOfCity[20].ToString();

                pictureBox06.ImageLocation = @"images/weather/" + WeatherOfCity[21].ToString();

                label17.Text = WeatherOfCity[18].ToString() + WeatherOfCity[17].ToString() + WeatherOfCity[19].ToString();

                //城市说明及图片

                pictureBox07.ImageLocation = @"http://www.cma.gov.cn/tqyb/img/city/" + WeatherOfCity[3].ToString();                

                label18.Text = WeatherOfCity[22].ToString();

                //预计时间

                label19.Text = "预报时间:" + WeatherOfCity[4].ToString();

            }

            catch

            {

            }

        }

    }

}

天气预报可调用实例下载:http://www.webxml.com.cn/files/weather_eg.zip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息