Разрешаем ввод в TextBox только цифр.

Для того чтобы разрешить ввод в поле TextBox только цифр в C#, самый простой способ воспользоваться обработчиком события KeyPress.

Вот как это делается:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!(Char.IsDigit(e.KeyChar)))
            {
                e.Handled = true;
            }
        }

Используем Crystal Report в C#

В этой статье я приведу пример создания и использования отчёта Crystal Reports в Visual Studio.

Приведённый пример — это реально рабочий проект по подготовке к печати билетов на обычном лазерном принтере.

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


( Читать дальше )

Почему собственная IT служба не должна заниматься разработкой.

Сразу хочу оговориться. Я вовсе не пропагандирую аутсорсинг, считаю что всё хорошо в меру и для каждого эта мера своя. В этой статье я просто хочу указать на некоторые подводные камни.

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


( Читать дальше )

Hello World - первое приложение на мобильном компьютере.

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


( Читать дальше )

Создаём свою службу на C#

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

Первый момент. Собственно служба должна что нибудь делать, это что нибудь обычно делается по таймеру, вот он то никак и не запускался. Не работал, и всё тут! Выяснилось что обычный таймер System.Windows.Forms.Timer работает только на основе оконных сообщений! Находил информацию по поводу того что можно и без этого запустить как: System.Timers.Timer или System.Threading.Timer — но с ними тоже ничего не получилось. Вернулся к первому варианту, просто в отдельном потоке создал форму и таймер, ниже пример.


( Читать дальше )

Работа с Postgresql в C#

Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информация которой спешу поделиться. В статье я опишу что необходимо для подключения к PostgreSQL из приложения написанного на C#, и как с ним работать на примерах.

Для того чтобы иметь возможность работать с базами данных PostgreSQL в нашем случае будем использовать Npgsql — .Net Data Provider for Postgresql скачиваем, добавляем Npgsql.dll в свой проект и копируем в папку с скомпилированным проектом необходимые библиотеки (чтобы работало): Npgsql.dll и Mono.Security.dll.


( Читать дальше )

Работа с MySQL в C#

   Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правильный выбор. Первое с чего бы хотелось начать это с настоятельной рекомендации: «Программируя под .NET всегда пользуйтесь MySQL .NET — Коннектором!». Можно конечно и через ADO подключаться к базе но это чревато тем что в будущем вам просто будет необходимо вносить изменения при переходе на Windows Vista и выше.


( Читать дальше )