• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
服务器维护中
博客园    首页    新随笔    联系   管理    订阅  订阅

用C#实现天气预报(调用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
            {

            }
        }

    }
}

-
posted @ 2010-11-08 09:24  服务器维护中  阅读(3323)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3