Разработка программы “Конвертер валют”

В этой статье мы хотим написать реальное приложение “Конвертер валют”, который будет получать курсы валют у Google.

Разработку приложения начнем с разработки формы (Windows Forms) приложения. Запускаем Visual Studio и создаем проект:


Разработка программы "Конвертер валют"

В статье “Создание графического калькулятора.” мы подробно рассматривали интерфейс созданного проекта. Советую зайти, изучить и продолжить разработку нашего приложения.

На форму мы поместим 1 TextBox, 3 Label’a, 2 ListBox’a, 1 Button в верхней части формы. Также мы добавили WebBrowser. Он позволяет получить содержимое любой web-страницы. Используя его метод Navigate(), можно загружать любую страницу. И в нижней части у нас имеется Panel. Итоговая форма приложения:


Разработка программы "Конвертер валют"

В оба ListBox’a мы заносим названия валют. Для этого мы нажимаем на стрелочку в правом углу ListBox’a и в появившейся панели нажимаем “Изменить элементы…”:


Разработка программы "Конвертер валют"

В остальных элементах просто меняем свойство “text” на нужное. Например:


Разработка программы "Конвертер валют"

Форматирование текста произведите на свое усмотрение.

В TextBox’e, обозначаемом количеством переводимой валюты, мы заменили свойство Text, вписали туда цифру “1”. При запуске программы у нас в нём автоматически будет стоять единица для удобства пользователя, чтобы он лишний раз не заполнял эту графу, если ему захочется узнать цену одной единицы валюты относительно другой или внести свою цифру.

Panel нам нужна чтобы скрыть что находится выше и ниже её на странице поисковика. Для этого нужно отрегулировать WebBrowser.

Регулировать положение WebBrowser’a надо будет до тех пор, пока при запросе в Panel не будут получаться примерно такие виды, чтобы не было верха и не было низа от поисковика:


Разработка программы "Конвертер валют"


Разработка программы "Конвертер валют"

В свойствах WebBrowser отключаем полосы прокрутки (скроллбары), чтобы пользователь не мог “листать” содержимое нашего WebBrowser’a вверх и вниз:


Разработка программы "Конвертер валют"

На этом внешняя оболочка готова. Теперь приступаем к коду. Щёлкаем по Button’у дважды и переносимся в тело кода. Для начала поднимемся чуть выше в тело под наименованием public Form1(). Внутри него мы напишем следующее:

        public Form1()
        {
            InitializeComponent();
            listBox1.SelectedIndex = 0;
            listBox2.SelectedIndex = 1;
        }

Здесь мы избегаем ошибки программы, когда ни в ListBox’ах, ни в Textbox не будет ничего, так как теперь по-любому в ListBox’ах что-то будет выбрано. А во-вторых, мы облегчаем пользование программой человеку, если он решил выполнить перевод из рублей в доллары (а чаще всего так и бывает). Под индексом “0” у нас в ListBox’е записано первое значение “RUB”, под индексом “1” – второе значение “USD”.

Далее возвращаемся к нашей кнопки “Перевести” и пишем для него обработчик событий:

private void button1_Click(object sender, EventArgs e)
        {
            string from, to;

            from = listBox1.SelectedItem.ToString(); // выбранная валюта в 1 списке
            to = listBox2.SelectedItem.ToString(); // выбранная валюта во 2 списке

            if(from==to)
            {
                MessageBox.Show("Это одна и та же валюта!", "Внимание!");
            }
            else if(textBox1.Text=="")
            {
                MessageBox.Show("Введите количество валюты!", "Внимание!");
            }
            else
            {
                webBrowser1.Navigate("https://www.google.ru/search?q=" + textBox1.Text + "" + from + " %D0%B2 " + to);
            }
        }

Чтобы избежать ошибки программы мы предусматриваем поведение пользователя и проверяем ввод и выбор валюты.

В последней строчке кода мы отправляем запрос на перевод валюты в Google. Метод webBrowser1.Navigate загружает ссылку, записанную в скобках, в WebBrowser.

На этом наше приложение готово к работе. Скомпилируйте программу, нажав на “Пуск” и попробуйте перевести валюту. Итоговый интерфейс программы:


Разработка программы "Конвертер валют"

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Один ответ к “Разработка программы “Конвертер валют””

Интересное решение! В начале 2020 моей “студентке”(дочери, учащейся в одной “шараге”) дали тему курсового: написать “валютный калькулятор” на паскале. Надо сказать, что в ентой “шараге”, по специальности “техник-программист”, программированию не учат от слова “совсем” (бухучёт, идеология, основы UML и пр.). Лиха беда, поставили редстудию и накатали аж 500 строк кода. Пыхтели долго(я то же не программист) дня три! Не догадались, как здесь(или в редстудии нет такой возможности), пришлось запрашивать сайт банка и писать парсер XML. Сейчас вот опять курсовой. На СиШарп. И мы на Вашем сайте ))). Интересно, пошаговые примеры превосходные, но. Если бы побольше информации о элементах формы(хотя бы самых распространённых, их свойствах или событиях). Спасибо!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Entity Framework

Entity Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами

 
Работа с базой данных в C#

Работа с базой данных в C#

В данной статье мы подробно поговорим о разработке небольшого приложения с помощью Visual Studio базы данных и языка C#. Советуем поэтапно выполнять все инструкции из

 
Создание сканера портов

Создание сканера портов

В прошлой статье “Сокеты в C#” мы познакомились с сокетами и подробно рассмотрели классы для работы с ними. В этой статье мы разработаем простое приложение

 
Сокеты в С#

Сокеты в С#

Сокет – это один конец двухстороннего канала связи между двумя программами, работающими в сети. Используя два сокета, можно передавать данные между разными процессами (локальными или

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: