таймер windows form

Пример разработки программы "Таймер windows form" с использованием языка программирования С++. Анализ теоретических основ, пошаговое описание разработки и настройки свойств формы программы, написание кода, тестирование и результат работы таймера.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.06.2015
Размер файла 524,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Белорусский национальный технический университет

Международный институт дистанционного образования

Кафедра «Информационные системы и технологии»

КУРСОВАЯ РАБОТА

По курсу «Операционные системы и системное программирование».

На тему: «Разработка программы на языке С++

согласно варианту»

Выполнил:

студент группы 41702112

Шут В.В.

Проверила: Кондратенок Е.В.

Минск 2015

СОДЕРЖАНИЕ

Введение

Постановка задачи

Теоретические основы

Код программы

Результат работы программы

Заключение

Литература

ВВЕДЕНИЕ

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C.

Начав работать над задачами теории очередей (в приложении к моделированию телефонных вызовов), Бьёрн Страуструп обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными.

Вспомнив опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения.

Получившийся язык является универсальным языком программирования, который позволяет разрабатывать программы в соответствии с современными требованиями: процедурным программированием, объектно-ориентированным, итд. В данном курсе рассматриваются все основные возможности языка C++ и их применение при разработке объектно-ориентированных программ.

ПОСТАНОВКА ЗАДАЧИ.

28.Таймеры (Timers).

Можно предложить следующий вариант реализации.


Рис 28.1 Окно на запуск таймера

Внешний вид программы показан на рисунке (Рис 28.1). Можно задать время отсчета (часы, минуты и секунды). При нажатии на кнопку старт, начнется отсчет в обратном порядке.

Для остановки отсчета служит кнопка Стоп (Рис 28.2).


Рис 28.2 Окно на приостановку таймера

Окончание отсчета сопровождается звуковым сигналом и сообщением (Рис 28.3). Для выхода из программы служит кнопка "Выход".


Рис 28.3 Окно при окончании отсчета

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ

Основные свойства форм

С помощью специального окна Properties (Свойства) справа Visual Studio предоставляет нам удобный интерфейс для управления свойствами элемента:

Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:

· Name: устанавливает имя формы - точнее имя класса, который наследуется от класса Form

· BackColor: указывает на фоновый цвет формы. Щелкнув на это свойство, мы сможем выбрать тот цвет, который нам подходит из списка предложенных цветов или цветовой палитры

· BackgroundImage: указывает на фоновое изображение формы

· BackgroundImageLayout: определяет, как изображение, заданное в свойстве BackgroundImage, будет располагаться на форме.

· ControlBox: указывает, отображается ли меню формы. В данном случае под меню понимается меню самого верхнего уровня, где находятся иконка приложения, заголовок формы, а также кнопки минимизации формы и крестик. Если данное свойство имеет значение false, то мы не увидим ни иконку, ни крестика, с помощью которого обычно закрывается форма

· Cursor: определяет тип курсора, который используется на форме

· Enabled: если данное свойство имеет значение false, то она не сможет получать ввод от пользователя, то есть мы не сможем нажать на кнопки, ввести текст в текстовые поля и т.д.

· Font: задает шрифт для всей формы и всех помещенных на нее элементов управления. Однако, задав у элементов формы свой шрифт, мы можем тем самым переопределить его

· ForeColor: цвет шрифта на форме

· FormBorderStyle: указывает, как будет отображаться граница формы и строка заголовка. Устанавливая данное свойство в None можно создавать внешний вид приложения произвольной формы

· HelpButton: указывает, отображается ли кнопка справки формы

· Icon: задает иконку формы

· Location: определяет положение по отношению к верхнему левому углу экрана, если для свойства StartPosition установлено значение Manual

· MaximizeBox: указывает, будет ли доступна кнопка максимизации окна в заголовке формы

· MinimizeBox: указывает, будет ли доступна кнопка минимизации окна

· MaximumSize: задает максимальный размер формы

· MinimumSize: задает минимальный размер формы

· Opacity: задает прозрачность формы

· Size: определяет начальный размер формы

· StartPosition: указывает на начальную позицию, с которой форма появляется на экране

· Text: определяет заголовок формы

· TopMost: если данное свойство имеет значение true, то форма всегда будет находиться поверх других окон

· Visible: видима ли форма, если мы хотим скрыть форму от пользователя, то можем задать данному свойству значение false

· WindowState: указывает, в каком состоянии форма будет находиться при запуске: в нормальном, максимизированном или минимизированном

Программная настройка свойств

С помощью значений свойств в окне Свойства мы можем изменить по своему усмотрению внешний вид формы, но все то же самое мы можем сделать динамически в коде. Перейдем к коду, для этого нажмем правой кнопкой мыши на форме и выберем в появившемся контекстном меню View Code (Просмотр кода). Перед нами открывается файл кода Form1.cs. Изменим его следующим образом:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace HelloApp

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            Text = "Hello World!";

            this.BackColor = Color.Aquamarine;

            this.Width = 250;

            this.Height = 250;

        }

    }

}

В данном случае мы настроили несколько свойств отображения формы: заголовок, фоновый цвет, ширину и высоту. При использовании конструктора формы надо учитывать, что весь остальной код должен идти после вызова метода InitializeComponent(), поэтому все установки свойств здесь расположены после этого метода.

Установка размеров формы

Для установки размеров формы можно использовать такие свойства как Width/Height или Size. Width/Height принимают числовые значения, как в вышеприведенном примере. При установке размеров через свойство Size, нам надо присвоить свойству объект типа Size:

this.Size = new Size(200,150);

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

Начальное расположение формы

Начальное расположение формы устанавливается с помощью свойства StartPosition, которое может принимать одно из следующих значений:

· Manual: Положение формы определяется свойством Location

· CenterScreen: Положение формы в центре экрана

· WindowsDefaultLocation: Позиция формы на экране задается системой Windows, а размер определяется свойством Size

· WindowsDefaultBounds: Начальная позиция и размер формы на экране задается системой Windows

· CenterParent: Положение формы устанавливается в центре родительского окна

Все эти значения содержатся в перечислении FormStartPosition, поэтому, чтобы, например, установить форму в центре экрана, нам надо прописать так:

this.StartPosition = FormStartPosition.CenterScreen;

Фон и цвета формы

Чтобы установить цвет как фона формы, так и шрифта, нам надо использовать цветовое значение, хранящееся в структуре Color:

this.BackColor = Color.Aquamarine;

this.ForeColor = Color.Red;

Кроме того, мы можем в качестве фона задать изображение в свойстве BackgroundImage, выбрав его в окне свойств или в коде, указав путь к изображению:

this.BackgroundImage = Image.FromFile("C:\\Users\\Eugene\\Pictures\\3332.jpg");

Чтобы должным образом настроить нужное нам отображение фоновой картинки, надо использовать свойство BackgroundImageLayout, которое может принимать одно из следующих значений:

· None: Изображение помещается в верхнем левом углу формы и сохраняет свои первоначальные значения

· Tile: Изображение располагается на форме в виде мозаики

· Center: Изображение располагается по центру формы

· Stretch: Изображение растягивается до размеров формы без сохранения пропорций

· Zoom: Изображение растягивается до размеров формы с сохранением пропорций

Например, расположим форму по центру экрана:

this.StartPosition = FormStartPosition.CenterScreen;

Добавление форм в проект. Взаимодействие между формами

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне Solution Explorer (Обозреватель решений) правой кнопкой мыши и выберем Add(Добавить)->Windows Form...

Дадим новой форме какое-нибудь имя, например, Form2.cs:

Итак, у нас в проект была добавлена вторая форма. Теперь попробуем осуществить взаимодействие между двумя формами. Допустим, первая форма по нажатию на кнопку будет вызывать вторую форму. Во-первых, добавим на первую форму Form1 кнопку и двойным щелчком по кнопке перейдем в файл кода. Итак, мы попадем в обработчик события нажатия кнопки, который создается по умолчанию после двойного щелчка по кнопке:

private void button1_Click(object sender, EventArgs e)

{

 

}

Теперь добавим в него код вызова второй формы. У нас вторая форма называется Form2, поэтому сначала мы создаем объект данного класса, а потом для его отображения на экране вызываем метод Show:

private void button1_Click(object sender, EventArgs e)

{

    Form2 newForm = new Form2();

    newForm.Show();

}

Теперь сделаем наоборот - чтобы вторая форма воздействовала на первую. Пока вторая форма не знает о существовании первой. Чтобы это исправить, надо второй форме как-то передать сведения о первой форме. Для этого воспользуемся передачей ссылки на форму в конструкторе.

Итак, перейдем ко второй форме и перейдем к ее коду - нажмем правой кнопкой мыши на форму и выберем View Code (Просмотр кода). Пока он пустой и содержит только конструктор. Поскольку C# поддерживает переопределение методов, то мы можем создать несколько методов и конструкторов с разными параметрами и в зависимости от ситуации вызывать один из них. Итак, изменим файл кода второй формы на следующий:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace HelloApp

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

 

        public Form2(Form1 f)

        {

            InitializeComponent();

            f.BackColor = Color.Yellow;

        }

    }

}

Фактически мы только добавили здесь новый конструктор public Form2(Form1 f), в котором мы получаем первую форму и устанавливаем ее фон в желтый цвет. Теперь перейдем к коду первой формы, где мы вызывали вторую форму и изменим его на следующий:

private void button1_Click(object sender, EventArgs e)

{

    Form2 newForm = new Form2(this);

    newForm.Show();

}

Поскольку в данном случае ключевое слово this представляет ссылку на текущий объект - объект Form1, то при создании второй формы она будет получать ее (ссылку) и через нее управлять первой формой.

Теперь после нажатия на кнопку у нас будет создана вторая форма, которая сразу изменит цвет первой формы.

Мы можем также создавать объекты и текущей формы:

private void button1_Click(object sender, EventArgs e)

{

    Form1 newForm1 = new Form1();

    newForm1.Show();

         

    Form2 newForm2 = new Form2(newForm1);

    newForm2.Show();

}

При работе с несколькими формами надо учитывать, что одна из них является главной - которая запускается первой в файле Program.cs. Если у нас одновременно открыта куча форм, то при закрытии главной закрывается все приложение и вместе с ним все остальные формы.

КОД ПРОГРАММЫ.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication12

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

int h, m, s; //часы, минуты, секунды

private void button1_Click(object sender, EventArgs e)

{

h = Convert.ToInt32(textBox1.Text); //заносим написанные пользователем числа в переменные

m = Convert.ToInt32(textBox2.Text);

s = Convert.ToInt32(textBox3.Text);

timer1.Start(); // запускаем таймер

}

private void timer1_Tick(object sender, EventArgs e)

{

s = s - 1; //каждую секунду счетчик таймера секунд уменьшается на 1

if (s == -1) //если кончается минута, а секундная переменная становится меньше единицы, значит минута уменьшается на единицу, а секундный счетчик начинает с 59 программирование код таймер С++

{

m = m - 1;

s = 59;

}

if (m == -1) //то же самое для часов

{

h = h - 1;

m = 59;

}

if (h == 0 && m == 0 && s == 0) // если часы, минуты и секунды в таймере будут равны нулю, значит время, указанное пользователем вышло

{

timer1.Stop();

Console.Beep();

MessageBox.Show("Время вышло!");

}

label4.Text = Convert.ToString(h); //выводим таймер на экран, чтобы пользователь наглядно видел, сколько время осталось.

label6.Text = Convert.ToString(m);

label8.Text = Convert.ToString(s);

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Text = Convert.ToString(h);

textBox2.Text = Convert.ToString(m);

textBox3.Text = Convert.ToString(s);

timer1.Stop(); // при нажатии пользователем на кнопку "Стоп" таймер останавливается

}

private void button3_Click(object sender, EventArgs e)

{

timer1.Stop(); // при нажатии пользователем на кнопку "Сброс" таймер останавливается, а текст в label'ах "сбрасывается" до нуля.

label4.Text = "0";

label6.Text = "0";

label8.Text = "0";

textBox1.Text = "0";

textBox2.Text = "0";

textBox3.Text = "0";

}

}

}

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ.

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы были закреплены практические навыки в разработке программ на языке С#. Освоены основы языка, такие как работа с WINDOWS FORM и простыми классами. Изучены основные подходы для решения поставленной задачи.

Язык С# на данный момент является одним из самых популярных языков, который позволяет в полной мере и без лишних трудностей выполнять разработку и реализацию задуманной цели.

ЛИТЕРАТУРА

1. http://metanit.com/sharp/windowsforms/2.2.php

2. http://metanit.com/sharp/windowsforms/2.3.php

Размещено на Allbest.ru

...

Подобные документы

  • Таймер в Windows как устройство ввода информации, которое извещает приложение о том, что истек заданный интервал времени. Работа с таймером в условиях WinAPI, процесс 32-битного программирования на ассемблере под Windows. Результат выполнения программы.

    курсовая работа [165,6 K], добавлен 18.05.2014

  • Освоение языка программирования Delphi. Построение блок-схемы запуска главного таймера и основная логика программы. Использованные свойства и события Form, MediaPlayer, Timer, MainMenu. Запуск, пауза и остановка анимациии. Создание листинга программы.

    курсовая работа [771,9 K], добавлен 22.06.2014

  • Создание программы для хранения и обработки данных о съеме/сдаче жилья. Написание программы на языке C++ с использованием библиотеки Qt; использование исходного кода для создания приложения под Windows, Linux, Mac OS X без дополнительных изменений кода.

    курсовая работа [60,4 K], добавлен 07.03.2013

  • Использование языка программирования Delphi для записи программ, представляющих собой последовательность инструкций. Классы и директивы в объектно-ориентированном программировании. Разработка демонстрационной программы. Процесс настройки Windows XP.

    дипломная работа [917,4 K], добавлен 15.01.2014

  • Технические характеристики игрового приложения для операционной системы Microsoft Windows. Обоснование выбора состава технических и программных средств. Характеристика процесса разработки программы "Угадайка", ее спецификация, описание и тестирование.

    курсовая работа [422,4 K], добавлен 10.06.2011

  • Функциональная схема микроконтроллера. Схема подключения ADS7841. Блок-схема и интерфейс программы АЦП. Реализация Hart-протокола, пример транзакции. Результат моделирования передачи по Uart. Индикация, текст программы. Сторожевой таймер, печатная плата.

    курсовая работа [2,3 M], добавлен 17.02.2013

  • Изучение основ программирования на 32-битном ассемблере с применением API-функций. Ознакомление с основами разработки программы, демонстрирующей работу одного из разделов ОС Windows - всплывающих подсказок. Анализ результатов работы данной программы.

    отчет по практике [105,1 K], добавлен 10.02.2015

  • Структура и назначение программного кода программы по созданию 3D-графики средствами языка программирования Visual Basic. Элементы управления "Окно формы" и "Таймер", выполняемые ими функции и основные свойства, значение в работе программного кода.

    лабораторная работа [362,4 K], добавлен 06.07.2009

  • Разработка и реализация проекта информационной системы, предназначенной для хранения сведения о клиентах и недвижимости. Моделирование и реализация информационной системы. Разработка пользовательского интерфейса. Затраты на написание программы и отладку.

    курсовая работа [1,0 M], добавлен 30.06.2022

  • Общие сведения о таймерах, история их возникновения и применение. Развитие и совершенствование языков программирования. Разработка приложения "Таймер" для выключения и отмены отключения компьютера, показа времени начала работы программы и ее автозагрузки.

    курсовая работа [182,9 K], добавлен 30.01.2015

  • Программа операционной системы. Перемещение и копирование объектов. Окна Windows, операционное меню, настройка свойств папки, вызов справки Windows. Работа с дисками, папками и файлами, с приложениями и документами. Стандартные программы Windows.

    контрольная работа [21,9 K], добавлен 29.01.2011

  • Реализация линейных списков в языке программирования C++. Основные операции при работе с ними. Разработка интерфейса и алгоритмов. Описание работы программы на псевдокоде. Составление программного кода. Тестирование, отладка и результат работы программы.

    курсовая работа [1,1 M], добавлен 07.01.2014

  • Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.

    учебное пособие [1,6 M], добавлен 28.12.2013

  • Microsoft Windows – одно из величайших изобретений человечества. Ознакомление с базовыми программами и навыками работы с Windows XP Professional: форматирование диска, архивация данных, файловые менеджеры, антивирусные программы, настройка Windows.

    отчет по практике [24,4 K], добавлен 22.12.2009

  • Среда программирования Embarcadero RAD Studio. Создание окна, которое отображает системную дату и время. Выполнение выбранного действия в определенный промежуток времени, заданный пользователем. Руководство программиста. Минимальные системные требования.

    курсовая работа [85,2 K], добавлен 16.06.2014

  • Основы программирования на 32-битном Ассемблере, разработка с его помощью программы, демонстрирующей работу одного из разделов ОС Windоws. Описание используемых АРI-функций как интерфейса программирования приложений. Листинг программы, результаты работы.

    курсовая работа [164,5 K], добавлен 18.05.2014

  • Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.

    дипломная работа [4,8 M], добавлен 04.06.2013

  • Прикладные программы и утилиты. Простейшие функции операционной системы. История разработки корпорацией Microsoft Corporation графической операционной оболочки Windows. Версия семейства сетевых ОС Windows NT (Millennium Edition, 2000, XP, Vista, Seven)

    презентация [965,2 K], добавлен 12.10.2013

  • Разработка программы, реализующей построение объемной гистограммы с использованием свойств языка программирования Java. Возможность графически отобразить статистические данные урожайности как основное требование к программе. Реализация кода программы.

    курсовая работа [333,5 K], добавлен 21.01.2013

  • Создание программы "MP3 Player", воспроизводящей аудио файлы формата MP3 для работы в операционной системе Windows с использованием языка программирования Delphi. Разработка интерфейса, алгоритма и документации к разработанному программному продукту.

    курсовая работа [625,0 K], добавлен 18.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.