Раскраска DataGridView, выключение ячейки в WinForms

Задача: в процессе выполнения программы раскрашивать отдельные ячейки грида и включать-выключать в зависимости от различных параметров. Кроме достаточно простого кода раскраски и выключения надо внимательно отнестись к вызовам раскраски - грид может перерисовываться в различных ситуациях, например если форма вызывается … Читать далее

IIS 7.5 Manager, отсутствует пункт Import Application

Начиная с Visual Studio 2010 для установки сайта или веб-сервиса на сервер можно использовать функцию создания deployment package (пакета веб-развертывания) - zip-архива с сайтом, который достаточно записать на сервер и установить одним кликом. Начинающий разрабтчик может столкнуться с досадной неприятностью … Читать далее

ASP .Net MVC, Windows XP и ошибка Failed to initialize PowerShell host

Ошибка вылетает на машинах с Windows XP, при попытке создать проект на ASP .Net MVC 4 в Visual Studio 2010. Причина в старой версии PowerShell - в Windows XP при всех обновлениях остается версия 1.0, а студия хочет 2.0 (3.0 … Читать далее

Как сделать текст жирным и изменить другие параметры текста на кнопке WinForms

Задача: изменить параметры шрифта на управляторе WinForms из кода во время выполнения программы. Просто изменить свойства не получится, надо создать новый экземпляр шрифта с неочевидным конструктором: How do I set a textbox's text to bold at run time? Font Class … Читать далее

Как сделать собственный составной элемент управления (composite control) в WinForms

Задача: сделать нестандартный элемент управления (control) для Windows Froms. Какой именно? Есть несколько разных вариантов, темой этой статьи будет собственный DateTimePicker, способный работать с пустыми датами. В качестве пустых дат будет активно использоваться описанный ранее класс DatePlus. Что мы хотим? … Читать далее

Как отсортировать данные в DataTable

Простой и быстрый способ сортировки DataTable - использовать свойство DataView.Sort (у любой DataTable всегда есть DataTable.DefaultView и при привязке таблицы как источника данных на самом деле будет использоваться именно это DataView) … Читать далее

Аналог DataView для List и BindingList

Начитавшемуся умных книг программисту-новичку могут придти в голову странные идеи. Например заменить стандартные DataTable собственными классами, обьединив их в списки List<T>. Пойдя на это программист моментально сталкивается с целым рядом проблем. Прежде всего обычный List в отличие от DataTable не … Читать далее

Пустая дата в C# - часть 1, собственный класс даты

Стандартный класс DateTime создает массу проблем в повседневной работе из-за того, что он не поддерживает пустых значений. На практике существует масса ситуаций, в которых дата чего бы то ни было неизвестна и именно этот факт надо обрабатывать и отображать на … Читать далее

Простой способ передать функцию как аргумент в C# - делегат Action<T>

Если вы еще не готовы погружаться в глубины функционального программирования (возможности которого замечательно описаны здесь) или просто ищете максимально простой способ передать одну функцию в виде аргумента в другую функцию, вам идеально подойдет делегат Action<T>. Что это вообще такое и … Читать далее

Как выключить вкладку в TabControl

В стандартном TabControl полностью выключить вкладку невозможно. В лучшем случае можно выключить ее содержимое, например так но чтобы выключить саму вкладку - ее заголовок в перечне - придется переделывать сам TabControl или воспользоваться плодами чужой работы (что может быть приятнее?). … Читать далее