Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 02.12.2015
Сообщений: 17

Обновление содержимого формы раз в час

18.05.2016, 15:33. Показов 1389. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Такой вопрос, есть код который забирает XML данные и выводит их в форму.
Не могу сделать так чтоб форма со временем обновлялась, допустим раз в час.
Вот ссылка на XML https://query.yahooapis.com/v1... eswithkeys

А вот и код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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;
using System.Xml.Linq;
using System.Xml;
using System.IO;
using System.Web;
 
namespace Wether
{
    public partial class Form1 : Form
    {
        string Temperature;
        string Condition;
        string Humidity;
        string WindSpeed;
        string Town;
        string Temperature2;
        string Temperature1;
        int a = 32;
        double b = 1.8;
        public Form1()
        {
            InitializeComponent();
        }
        private void GetWeather()
        {
            string query = String.Format("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22chisinau%2C%20md%22)&format=xml&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys");
            XmlDocument wData = new XmlDocument();
            wData.Load(query);
 
            XmlNamespaceManager manager = new XmlNamespaceManager(wData.NameTable);
            manager.AddNamespace("yweather", "http://xml.weather.yahoo.com/ns/rss/1.0");
 
            XmlNode channel = wData.SelectSingleNode("//channel");
            XmlNodeList nodes = wData.SelectNodes("/rss/channel/item/yweather:forecast", manager);
 
            Temperature = channel.SelectSingleNode("item").SelectSingleNode("yweather:condition", manager).Attributes["temp"].Value;
            Condition = channel.SelectSingleNode("item").SelectSingleNode("yweather:condition", manager).Attributes["text"].Value;
            Humidity = channel.SelectSingleNode("yweather:atmosphere", manager).Attributes["humidity"].Value;
            WindSpeed = channel.SelectSingleNode("yweather:wind", manager).Attributes["speed"].Value;
            Town = channel.SelectSingleNode("yweather:location", manager).Attributes["city"].Value;
 
            Temperature1 = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["high"].Value;
            Temperature2 = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["low"].Value;
            Condition = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["text"].Value;
        }
        private void сToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Text = string.Format("{0:n0}", ((int.Parse(textBox1.Text) - a)) / b);
            textBox5.Text = string.Format("{0:n0}", ((int.Parse(textBox5.Text) - a)) / b);
            textBox6.Text = string.Format("{0:n0}", ((int.Parse(textBox6.Text) - a)) / b);
        }
        private void fToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Text = string.Format("{0:n0}", ((int.Parse(textBox1.Text) * b)) + a);
            textBox5.Text = string.Format("{0:n0}", ((int.Parse(textBox5.Text) * b)) + a);
            textBox6.Text = string.Format("{0:n0}", ((int.Parse(textBox6.Text) * b)) + a);
        }
        private void оПрограмеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Содано в 2016 году");
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = DateTime.Now.ToString();
        }
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            GetWeather();
            textBox1.Text = Temperature;
            textBox2.Text = Humidity + " %";
            textBox3.Text = WindSpeed + " м/c";
            textBox4.Text = Condition;
 
            textBox5.Text = Temperature1;
            textBox6.Text = Temperature2;
            textBox7.Text = Condition;
        }
        private void созадтьXMLToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filename = DateTime.Now.ToString("PL_ПогодаMMyyyy") + ".xml";
            XDocument xd = File.Exists(filename) ? XDocument.Load(filename) : new XDocument(new XElement("DataSet"));
            xd.Root.Add(new XElement("Table",
                new XElement("Temperature", textBox1.Text),
                new XElement("Humidity", textBox2.Text),
                new XElement("WindSpeed", textBox3.Text),
                new XElement("Condition", textBox4.Text),
                new XElement("additionally", "0")));
            xd.Save(filename);
 
            MessageBox.Show("Файл создан в папке с программой");
        }
    }
    }
Заранее большое спасибо
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.05.2016, 15:33
Ответы с готовыми решениями:

Обновление содержимого формы
Привет всем.. Предположим: textBox1.Text = "Версия 1.0"; Как сделать что бы эта информация показывалась с хостинга? В нём есть...

Обновление содержимого подчиненной формы
Здравствуйте! Пытаюсь создать простую базу, в которой содержится 2 таблицы, 2 формы и 1 запрос. Требуется в форме сделать подчиненную...

Как выполнить обновление формы после изменения динамически созданного содержимого
Как выполнить обновление формы. Например: после удаления или добавления информации нужно без перезапуска программы обновить её (работаю с...

4
71 / 58 / 31
Регистрация: 05.09.2013
Сообщений: 666
18.05.2016, 17:16
А таймер запущен?
0
0 / 0 / 1
Регистрация: 02.12.2015
Сообщений: 17
18.05.2016, 17:28  [ТС]
Да запущен. Проблема в не том, что код не работает, его просто нет, и я не знаю как правильно и корректно его написать.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
18.05.2016, 18:04
Лучший ответ Сообщение было отмечено MrDaiman как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        private void timer1_Tick(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = DateTime.Now.ToString();
            UpdateWeather();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            UpdateWeather();
        }
        private void UpdateWeather();
        {
            GetWeather();
            textBox1.Text = Temperature;
            textBox2.Text = Humidity + " %";
            textBox3.Text = WindSpeed + " м/c";
            textBox4.Text = Condition;
 
            textBox5.Text = Temperature1;
            textBox6.Text = Temperature2;
            textBox7.Text = Condition;
        }
1
0 / 0 / 1
Регистрация: 02.12.2015
Сообщений: 17
19.05.2016, 09:34  [ТС]
Спасибо большое, всё обновляется, но вот в чём возникла проблема, код это делает слишком быстро, и само окно подвисает. Не могли бы вы подсказать как сократить время обновления, чтоб оно обновляла хотя бы раз в 2 минуты ?

Добавлено через 10 часов 52 минуты
Проблему решил, не без вашей помощи огромное спасибо !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.05.2016, 09:34
Помогаю со студенческими работами здесь

1. На трех станках, производительность которых St1 м/час, St2 м /час и St3 м /час соответственно
господа прогдамисты еще 1 прозьба это уже лаба номер 2) если не сложно копи из делфи или хотябы формулы 7 уже есть 1. На трех...

ПК зависает раз в час
Здравствуйте, у меня такая вот беда: Месяц назад я собрал свой новый ПК (Новое всё кроме SSD диска ).Изначально всё было хорошо,но спустя...

Выполнение запроса раз в час
Всем здравствуйте! Я впервые на этом форуме, по этому может быть не туда написал и все такое... Мне нужна помощь в моем PHP скрипте. ...

BSOD раз в час ровно
Доброго времени суток. По прошествии 60 минут с момента включения ПК (каждого включения) зависает система вне зависимости от сложности...

Проигрывание звука раз в час
Привет всем еще раз! Продолжаю тему по созданию "программы" в общем столкнулся с ситуацией мне нужно проигрывать звук раз в час т.е у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru