Запуск приложения от имени администратора с технологией ClickOnce

Сегодня мы рассмотрим способ, который позволит приложению ClickOnce запускаться от имени администратора. Дело в том, что если мы воспользуемся обычной правкой манифеста <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />, то программа не скомпилируется и выдаст ошибку: «ClickOnce не поддерживает уровень выполнения запроса «requireAdministrator»». Чтобы реализовать запуск программы от имени администратора и, при этом, продолжить использовать ClickOnce, мы будем манипулировать процессами при старте программы. В статье описан способ как для Windows Forms, так и для WPF.
Читать далее «Запуск приложения от имени администратора с технологией ClickOnce»

Защита программы от множественного запуска

Поскольку создание приложения для Windows Forms и WPF отличается, в статье рассмотрим оба варианта.

Читать далее «Защита программы от множественного запуска»

Пара ключ-значение для ComboBox (WinForms)

В этой статье мы рассматриваем вариант для Windows Forms. Решение для WPF здесь.

После семи лет работы с PHP/JS/HTML я начал переходить в C# и первым удивлением для меня стало отсутствие быстрого решения вопроса выпадающих списков. В HTML/PHP это всё красиво. Пишем в атрибут value идентификатор, в содержимое тега — текст.

Читать далее «Пара ключ-значение для ComboBox (WinForms)»

ID значения в TreeView, поиск TreeNode по ключу

По умолчанию в коллекции TreeView есть только значение и индекс, который автоматически генерируется системой. При этом, создать коллекцию, как в ComboBox, тоже не получится. В этой статье мы рассмотрим возможность присвоения ключа, а также легкий способ его найти.
Читать далее «ID значения в TreeView, поиск TreeNode по ключу»