Ноябрь 2011
Пользовательские события
Каждый программист при разработке программ использует события для отслеживания действий пользователя или изменения значений, набор текста в текстовом поле и т.д. Но как насчет того, чтобы создать свои события в собственноручно созданом контроле. В этой статье мы и рассмотрим создание событий для вашего контрола.
Событие – это сообщение другим объектам программы, что произошло какое-то действие. Действие может быть вызвано пользователем, например нажатие мыши, или же другими элеметами программы. Объект, который вызывает событие называется отправитель сообщения, а объект, который сообщение получает – получатель. Получатель сообщения имеет метод, который автоматически выполняется в ответ на событие.
Прочитать остальную часть записи »
Изменение иконки собственного элемента управления
Для того, чтобы Ваш собственный элемент выглядел профессионально и был виден среди множества других элементов управления на панели инструментов, нужно создать свой собственный значок и присвоить его разработанному элементу. Размеры значка или растровой картинки должны быть размером 16х16 с 16 цветами. Левый нижний пиксел используется для определения програчного цвета.
Прочитать остальную часть записи »
Выгрузка данных из SQL в Excel
Microsoft Office Excel явялется очень удобным средством для работы с табличными данными, построением отчетов и т.д. Разрботчики языка C# предусмотрели возможность для работы и с Excel. У разработчиков есть возможность выгружать данные напрямую в документ, создавать сводные отчеты, диагарммы, в общем делать всё, что можно делать напрямую в документе Excel. В этой статье, мы будем выгружать из базы данных SQL данные в документ Excel.
При написании статьи использовался Microsoft Office 2003. Но думаю, что для других версий этот код будет тоже работать.
Прочитать остальную часть записи »
Создание ярлыка
Многие системные администраторы пишут сценарии с использованием технологии WSH. С помощью WSH легко выполнять операции в системе. Разработчики, программирующие на C#, могут использовать классы библиотеки IWshRuntimeLibrary, которая является оболочкой для технологии WSH.
Прочитать остальную часть записи »
Сохранение настроек приложения
Начиная с версии 2.0 .NET Framework позволяет очень легко создавать, сохранять и загружать настройеи приложения. Довольно часто возникает необходимость в сохранении фонового цвета программы, размеров окна, размеров шрифта чтобы при следующем запуске программы, она сама восстанавливала эти настройки.
Запуск из программы другого приложения
Для того, чтобы из приложения написанного на c# запустить другое приложение, необходимо использовать класс Process пространства имен System.Diagnostics
using System.Diagnostics;
//создаем новый процесс Process proc = new Process(); //Запускаем Блокнто proc.StartInfo.FileName = @"Notepad.exe"; proc.StartInfo.Arguments=""; proc.Start();
Счетчик производительности процессора
Чтобы создать приложение, которое будет отслеживать загрузку процессора и количество доступной оперативной памяти требуется всего несколько минут. Разработчики .NET Framework действительно постарались и включили замечательный компонент производительности Windows NT – PerfomanceCounter (продребнее здесь).
Прочитать остальную часть записи »
Западающая кнопка
Многие даже не подозревают, как в принципе и я раньше не подозревал, что элемент CheckBox может выглядеть как западающая кнопка. Для того, чтобы CheckBox принял форму западающей кнопки, необходимо свойству Appearence установить значение Button (рис. 1)
Избавление от звукового сигнала при нажатии на клавишу Enter
Когда вы нажимаете на клавишу Enter в то время, когда курсор находится в текстовом поле, то издается неприятный звук из динамиков. Чтобы избавится от него необходимо перехватить событие нажатия клавиш:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if(e.KeyChar == (char)Keys.Enter) e.Handled = true; else base.OnKeyPressed(e); }
В листинге выше показан пример для отдельного текстового поля. Если вы хотите применить этот способ ко многим текстовым полям, то проще определить новый класс с наследованием от TextBox и переопределить событие OnKeyPress:
public class TextBoxEx : TextBox { private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if(e.KeyChar == (char)Keys.Enter) e.Handled = true; else base.OnKeyPressed(e); } }