c# winform 如何显示天气预报
求哪位大神能给一个可以直接使用的模块,并且简要的说一些应该怎么使用这个模块获取天气预报的信息 展开
不要听网上这些人的风言风语,我们都是用WebBrowser来完成这个操作的,直接把url赋值给WebBrowser就了事,何必一大堆一大堆的代码,天气预报终究是运营商提供的,哪天他停止了服务,你又要去修改代码,不觉得可笑吗?
我的方法是:建立一个本地ACCESS数据库,设置好他的密码,在里面做一个表,存储各个城市url和各个城市名,url是在网站上获取的,比如:http://tianqi.xixik.com,提供你所需要的城市天气预报代码:http://cache.xixik.com.cn/1/hefei/是合肥的http://cache.xixik.com.cn/1/beijing/是北京的...
你要做的事情很简单,只需要读取数据库,给WebBrowser分配url就好了,数据库放在程序相对路径里面,可以增删查,防止这个网站没用了还可以维护,打包程序的时候把数据库格式改成.bat或者.cab,连接字符串里,也要改掉,这样数据库就只占几个KB空间。
你要想像一下,如果我们做个天气预报显示模块都要耗费巨大,怎么可能有精力去做一个完善的网站,
参考文献:
C#源码爱好者实例:http://www.codefans.net/soft/12371.shtml
天气121:http://weather.xixik.com/
Android源码: http://www.onlinedown.net/soft/484225.htm
VS2008做的?
是啊,VS向下兼容可以打开的
实现步骤:
1、引入Web服务。在VS中项目上右击→添加服务引用。
2、在弹出的添加服务引用窗口,录入web服务地址和引用后的命名空间。
3、布置winform窗体界面,实现代码。核心代码如下:
private void button1_Click_1(object sender, EventArgs e)
{
Weather.WeatherWebServiceSoapClient w = new Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
//把webservice当做一个类来操作
string[] s = new string[23];//声明string数组存放返回结果
string city = this.textBox1.Text.Trim();//获得文本框录入的查询城市
s = w.getWeatherbyCityName(city);
//以文本框内容为变量实现方法getWeatherbyCityName
if (s[8] == "")
{
MessageBox.Show("暂时不支持您查询的城市");
}
else
{
pictureBox1.Image = Image.FromFile(@"d:\image\" + s[8] + "");
this.label4.Text =s[1]+" "+s[6];
textBox2.Text = s[10];
}
}
2013-09-19
1、从某网站上下载当天的天气文件,有可能是xml格式,也有可能是json格式等等。
2、根据特定的格式,分析数据,读取相对的数据。
3、根据需要显示出特定的效果,比如读取的数据是晴天,你就可以弄一个晴天的图片显示,或者用文本标签显示。