Научная статья на тему 'Расширение возможностей использования стандартного компонента DataGridView при разработке программного обеспечения'

Расширение возможностей использования стандартного компонента DataGridView при разработке программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
118
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DATAGRIDVIEW / КОМПОНЕНТ / COMPONENT / СВОЙСТВО / PROPERTY / СОБЫТИЕ / EVENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Моисеев М.В.

Рассматриваются вопросы добавления новых возможностей при работе со стандартным компонентом Datagridview в среде разработки MS Visual Studio. Представлены алгоритмы, позволяющие реализовать изначально отсутствующие события и свойства компонента Datagridview.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EXPANSION OF POSSIBILITIES OF THE STANDARD COMPONENT DATAGRIDVIEW IN SOFTWARE DEVELOPMENT

The questions on adding new features to work with the standard Datagridview component in development environment of MS Visual Studio are studied. The algorithms to implement initially missing events, and properties of the component Datagridview are developed.

Текст научной работы на тему «Расширение возможностей использования стандартного компонента DataGridView при разработке программного обеспечения»

3. Connecting PLM and ERP (1). URL: http://virtualdutchman.com/2008/07/20/connecting-plm-and-erp-1/.

4. URL: http://www.sdi-solution.ru/index.php/ produkty/ pochemu-semantic-pochemu-sejchas.

5. Bill of Materials for Dummies - ETO. URL: http://virtualdutchman.com/2010/01/19/bill-of-materials-for-dummies-eto/.

6. Bill of Materials for Dummies - BTO. URL: http://virtualdutchman.com/2010/02/02/bom-for-dummies-bto/.

7. Bill of Materials for Dummies - CTO. URL: http://virtualdutchman.com/2010/02/14/bom-for-dummies-cto/.

© Лихачев М. В., 2014

УДК 004.42

РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ ИСПОЛЬЗОВАНИЯ СТАНДАРТНОГО КОМПОНЕНТА DATAGRIDVIEW ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

М. В. Моисеев

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: maksimka_moiseev@mail.ru

Рассматриваются вопросы добавления новых возможностей при работе со стандартным компонентом DataGridView в среде разработки MS Visual Studio. Представлены алгоритмы, позволяющие реализовать изначально отсутствующие события и свойства компонента DataGridView.

Ключевые слова: DataGridView, компонент, свойство, событие.

EXPANSION OF POSSIBILITIES OF THE STANDARD COMPONENT DATAGRIDVIEW IN SOFTWARE DEVELOPMENT

M. V. Moiseev

Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: maksimka_moiseev@mail.ru

The questions on adding new features to work with the standard DataGridView component in development environment of MS Visual Studio are studied. The algorithms to implement initially missing events, and properties of the component DataGridView are developed.

Keywords: DataGridView, component, property, event.

Последнее время в большинстве сред программирования особое внимание уделяется совершенствованию языка программирования и улучшению средств командной разработки. Добавление новых или обновление существующих компонентов часто игнорируют. При этом зачастую при разработке сложных приложений используется большое количество визуальных компонентов, и в большинстве случаев стандартных свойств и событий этих компонентов более чем достаточно. Однако нередки случаи, когда набора стандартных свойств компонента не достаточно для реализации поставленных задач.

С данной проблемой столкнулся и автор статьи при разработке своего приложения, содержащего большое количество форм и используемых компонентов [1; 2]. Одним из важных вопросов при написании программы стала реализация возможности запрета на ввод всех букв и знаков препинания, кроме запятой, что требовалось для избежания ошибок при работе

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

Для рассматриваемого примера был взят компонент DataGridView стандартной палитры компонентов MS Visual Studio. На первых порах его возможностей хватает, он позволяет добавлять шесть видов столбцов, предназначенных для разных целей, и имеет множество свойств и событий, позволяющих реализо-вывать большинство стандартных действий. Но со временем и по мере усложнения разрабатываемого проекта требуются события, которых компонент изначально не предоставляет. Например, есть событие, которое вызывается перед редактированием ячеек и после, но нет события, срабатывающего при нажатии клавиши на клавиатуре, что позволяет запретить ввод некоторых символов, находясь в режиме редактирования ячейки.

Программные средства и информационные технологии

private void dataGridViewl_EditingControlShowing(object sender., DataGridViewEditingControlShowingEventArgs e)

{

if (dataGridViewl.CurrentCe11.ColumnIndex == 1) {"

TextBox tb = (TextBox)e.Control; tb.KeyPress -= tb_KeyPress;

tb.KeyPress += new KeyPressEventHandler(this,tb_KeyPress);

}

private void tb_KeyPress(object sender^ KeyPressEventArgs e) t

if (!(Char.IsDigit(e.KeyChar)}) {"

if (e.KeyChar != (char) Keys,Back) {"

System. Media. SystemSounds .Beep. Play() ; e.Handled = true;

}

}

H

Рис. 1. Конечный код

Благодаря развитым возможностям языка C# эту проблему можно обойти, создав обработчик события EditingControlShowing. В качестве параметров в это событие передаётся переменная типа DataGridViewEditingControlShowingEventArgs, в которой есть свойство Control. Создание связанного объекта типа TextBox позволяет создать обработчик события KeyPress. В сам обработчик события передаётся параметр типа KeyPressEventArgs, который имеет два свойства: для проверки, какая клавиша нажата, и для отмены обработки события. На рис. 1 показан конечный код, позволяющий вводить в ячейку только цифры.

Однако на этом возможности расширения функций компонента не исчерпываются. Механизмы наследования позволяют создавать практически любые столбцы, например столбец, внутри которого находится календарь. Этот тип столбцов полезен в тех случаях, когда необходимо реализовать возможность просмотра и редактирования даты в компоненте DataGridView, используя календарь, предоставляемый компонентом DateTimePicker, что позволяет избежать множества ошибок при вводе даты. Чтобы получить возможность использовать этот тип столбца, необходимо определить три производных класса. Первый наследуется от класса DataGridViewColumn, второй -от класса DataGridViewTextBoxCell, а третий - от класса DateTimePicker и реализует интерфейс IDataGridViewEditingControl. Для получения требуемой функциональности некоторые методы наследуемых классов необходимо переопределить в наследованных классах. После этого в окне редактирования столбцов DataGridView появится новый тип столбца CalendarColumn (рис. 2).

Безусловно, язык программирования C# является достаточно мощным и полноценным средством разработки, предоставляющим решение множества проблем, возникающих при разработке приложений. При этом возможности расширения списка стандартных свойств и событий компонентов собственными силами (силами разработчика) позволяют ускорить процесс и повысить качество разработок, значительно расширяя их функциональность.

Рис. 2. Новый тип столбца

На рис. 3 показана работа приложения с разработанным типом столбца.

Рис. 3. Пример работы приложения с новым типом столбца

Библиографические ссылки

1. Практическое руководство. Размещение элементов управления в ячейках элемента управления DataGridView в Windows Forms [Электронный ресурс]. URL: http://msdn.microsoft.com/ru-ru/library/7tas5c80(v = vs. 110).aspx.

2. Моисеев М. В. Автоматизация процесса перевода и восстановления студентов // Решетневские чтения. 2013. С. 235-236.

References

1. Prakticheskoe rukovodstvo. Razmeshenie jelementov upravlenija v jacheikah jelementa uprvlenija DataGridView v Windows Forms. Available at: http://msdn.microsoft.com/ru-ru/library/7tas5c80(v=vs.110). aspx.

2. Moiseev M. V. Avtomatizacija processa perevoda i vosstanovlenija studentov // Reshetnjevskie chtenija. 2013. S. 235-236.

© Моисеев М. В., 2014

УДК 004.942

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ РАБОТЫ ГИДРОПНЕВМАТИЧЕСКОГО АЭРАТОРА

Г. А. Морозов

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: justyfai@gmail.com

Проектирование систем очистных сооружений на основе гидропневматического аэратора является трудоёмкой работой в связи с многофакторностью и взаимозависимостью параметров, используемых при расчетах. Применение компьютерного моделирования в связке с традиционными способами расчета помогает вывести качество проектируемых систем на новый уровень. Имитационная модель работы гидропневматического аэратора дает возможность проанализировать работу системы с различными входными параметрами, без физической реализации проекта.

Ключевые слова: имитационные модели, проектирование систем, очистные сооружения.

SIMULATION MODEL OF HYDROPNEUMATIC AERATOR

G. A. Morozov

Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: justyfai@gmail.com

Designing of treatment facilities systems which are based on a hydropneumatic aerator is a time-consuming work because the parameters used in the calculations are multifactorial and interdependent. The use of computer simulations in conjunction with traditional methods of calculation helps to bring the quality of designed systems to a new level. simulation model of the hydropneumatic aerator provides an opportunity to analyze the system with different input parameters, without a physical implementation of the project.

Keywords: Simulation models, systems design, wastewater treatment plant.

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

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

Аэратор - это устройство для насыщения воды кислородом воздуха. В сооружениях биологической очистки сточных вод аэратор применяют для насыщения воды кислородом воздуха, обеспечивающим жизнедеятельность микроорганизмов, ускоряющего процесс минерализации растворенных органических веществ в очистных водопроводных сооружениях.

Многолетний опыт применения аэрационных сооружений для очистки сточных вод сопровождался накоплением данных, необходимых для расчета и проектирования этих сооружений. Метод их расчета постоянно совершенствовался, все более полно учи-

тывались факторы, определяющие характер протекания очистных процессов в этих сооружениях. Все важнейшие положения метода расчета основаны на результатах многочисленных теоретических и экспериментальных исследований ученых в этой области и их проверки в конкретных условиях применения [1].

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

Применение компьютерного моделирования в связке с традиционными способами расчета помогает при проектировании систем аэрации, что, в свою очередь, повышает степень очистки сточных вод. На данный момент расчеты параметров очистки сточных вод производятся вручную, что сильно увеличивает

i Надоели баннеры? Вы всегда можете отключить рекламу.