Записи с меткой «C#»

Создание ярлыка

Многие системные администраторы пишут сценарии с использованием технологии 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);
   }
}

Создание сервиса в Visual Studio 2008

Службы Windows – приложения, автоматически запускаемые системой при запуске системы и выполняющие вне зависимости от статуса пользователя (wikipedia). Службы можно разделить на два типа:

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

Windows предлагает программу Service Control Manager (SCM) с помощью которой можно управлять созданием, удалением, запуском и остановкой служб. Приложения, имеющее статус сервиса, должно быть написано таким образом, чтобы оно могло принимать сообщения от SCM. Службы работают в фоновом режиме и их работа скрыта от пользователя. Поэтому они идеально подходят для реализации серверных процессов в приложениях построенных по принципу клиент-сервер, сетевых служб, программ мониторинга и т.д.

Прочитать остальную часть записи »

Добавление всплывающих подсказок к CheckedListBox

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

Для начала создадим новое Windows Forms Application. Поместим на форму CheckedListBox.

Прочитать остальную часть записи »