RUSSIAN

C#. Советы программистам

Book information

Publisher
БХВ-Петербург
Year
2008
ISBN
9785977501743
Language
russian
Format
PDF
Filesize
6 MB (6422173 bytes)
Pages
544\536
Time added
2021-12-22 01:09:24

Description

Книга представляет собой сборник советов, алгоритмов и готовых примеров программ на языке C# в среде MS Visual Studio 2005/2008 из различных областей: работа с формами и элементами управления, папками и файлами, мышью и клавиатурой, мультимедиа и графикой, использование технологий WMI и WSH, взаимодействие с MS Office и другими приложениями, работа в локальной сети и Интернете, особенности использования функций Windows API и др. На компакт-диске размещены примеры из книги, а также демонстрационная версия справочника по функциям Windows API для .NET Framework и сообщениям Windows для Visual Basic .NET и C#. Оглавление Вступление Для кого предназначена книга Благодарности Требования Чего вы не найдете в этой книге Исходные коды Обратная связь Глава 1. Общее Часто задаваемые вопросы Можно ли запустить программу, написанную на C#, без .NET Framework? В каком редакторе писать программы? Использование в качестве переменных русских символов Псевдонимы Копирующий строковой литерал Символ @ перед идентификатором Как узнать, присвоено ли переменной значение Как это назвать? Какая разница между string и System.String? Выберите свои правила наименования Правила для названий классов и методов Советы по созданию эффективных и масштабируемых приложений Сопряжение Наследование Минимизация кода Экономия ресурсов Создание автоматически обновляемых приложений Заключение Глава 2. Строки, даты, числа Строки Простейшие операции со строками Входит ли строка в другую строку? Преобразование строки в число Вставка специального символа Создание строки из повторяющихся символов Метод String.Format Преобразование строки в объект Color Проверка строки на пустоту Переворачиваем строку Сжатие длинных имен файлов Печатающийся текст Бегущая строка Как соединять строки Что лучше: Parse или TryParse? Сравнение и сортировка строк Даты Как получить текущую дату Дата и время в разных форматах Как использовать дату и время в приложении Сложить и вычесть временной интервал из дат Вычисление разницы между датами Как определить, является ли год високосным? Вычисление даты католической Пасхи Числа Преобразование числа в шестнадцатеричную систему счисления Как перевести число в двоичную систему счисления? Как перевести число в восьмеричное или шестнадцатеричное представление? Является ли выражение числом? Создание собственной функции IsNumeric на C# Создание уникального идентификатора Перечисления Как получить все элементы перечисления Заключение Глава 3. Алгоритмы Найти наименьшее и наибольшее значение из трех чисел Массив строк Преобразование градусов в радианы и радианов в градусы Четное или нечетное число Получить старшее и младшее слова из числа Преобразование градусов по Фаренгейту в градусы по Цельсию Генерирование случайного цвета Подсчет суммы всех целых чисел диапазона Нахождение простых чисел Вывод программой своего исходного кода Заключение Глава 4. Интегрированная среда разработки (IDE) Удобные клавиатурные команды Получение списка всех назначенных клавиш Настройка назначенных клавиш Показ назначенных клавиш во всплывающих подсказках Селектор оконных конфигураций Фрагменты кода (code snippets) Создание XML-файла Встроенные фрагменты кода Распространение собственных фрагментов кода Настройка стартовой страницы Visual Studio Настройки для групповой работы Создание файла параметров Размещение файла параметров в пути UNC Параметр /resetuserdata Ряд мелких советов Как показывать нумерацию строк в редакторе кода? Как изменить цвет для регионов кода? Вертикальное выделение текста Альтернативный метод поиска строк Множественное копирование в буфер обмена Как управлять фрагментами кода в Visual Studio 2008? Быстрое комментирование и раскомментирование фрагментов кода Отображение IntelliSense Прозрачная подсказка IntelliSense Перемещение от открывающей скобки к закрывающей скобке Сворачивание/разворачивание блока (региона, функции, цикла и т. п.) Анимация при автоматическом скрытии панелей Вариант загрузки справочной системы Путь к файлу Быстрый переход к папке, содержащей исходные коды проекта Изменение шаблона заготовки метода в C#, генерируемого автоматически Вспомнить название пространства имен Удобный способ вызвать Smart Tag Создание собственных шаблонов приложений Работа в полноэкранном режиме Быстрый поиск в списках Поле Find Окно Command Диалоговое окно Find and Replace Еще о настройках Сокрытие статусной строки Число показываемых последних файлов Многодокументный интерфейс Управление панелями Auto Hide и Close Меню Window Переключение между окнами Помоги себе и команде Visual Studio, или пишем логи Графические файлы для проектов Надстройки Надстройки сторонних разработчиков GhostDoc SmartPaster PInvoke.NET Paste as Visual Basic Заключение Глава 5. Экран и формы Экран Как определить разрешение экрана Как определить рабочую область экрана без панели задач? Как изменить разрешение экрана программным путем Формы Как вывести форму в центре экрана? Как задать позицию формы на экране? Как программно свернуть или развернуть форму? Поддержка тем рабочего стола Windows Как узнать, используются ли темы Windows XP? Как отобразить форму без передачи ей фокуса? Как не отображать форму при запуске программы? Как сделать так, чтобы форма отбрасывала тень? Как вывести запрос при закрытии формы? Выбираем варианты закрытия формы Сокрытие значка формы на панели задач и при нажатии комбинации клавиш + Как отобразить форму на весь экран? Как установить ограничение на минимальный и максимальный размер окна? Как отловить момент сворачивания или разворачивания формы? Как запретить пользователю перемещать форму по экрану? Как перемещать форму, не имеющую заголовка? Еще два способа буксировки формы, не имеющей заголовка Как добиться эффекта полупрозрачности у формы Перемещение формы за заголовок Неактивная форма Как создать формы без границ и заголовка? Как убрать кнопку X из заголовка формы? Убрать кнопку Х при помощи управляемого кода Создать окно произвольной формы Создание дырявой формы Как создать форму в виде текста? Смена темы Windows XP Как форме получать уведомления о нажатии кнопок, когда фокус ввода находится в каком-либо элементе управления формы? Как получить список всех открытых форм, принадлежащих приложению? Сохранение настроек формы Создание и использование параметров командной строки Установить фоновый цвет в родительской MDI-форме Запрет на запуск второй копии приложения Как передавать значения между формами Windows Forms Способ первый Второй способ Заключение Глава 6. Элементы управления Общие советы Как добавить элемент управления на форму во время выполнения программы? Как пройтись по всем элементам управления на форме? Как изменить цвет границы (Border) у элемента управления? Окантовка вокруг элемента управления Как программно перевести фокус на следующий/предыдущий (в порядке TAB) элемент управления? Как изменить Z-порядок элемента управления? Как узнать размеры строки в пикселах, отображаемой в каком-нибудь элементе управления? Как сделать элемент управления произвольной формы? Кнопки (Button) Как установить кнопку по умолчанию для формы? Как установить кнопку отмены (Cancel) для формы? Как программно вызвать событие Click у кнопки? Как создать западающую кнопку? Список (ListBox) Автоматическая прокрутка списка Подгоняем ширину списка под самый длинный текст Как заполнить список именами файлов, перетаскиваемых из Проводника? Разделить список цветными линиями и заполнить цветным текстом Поле со списком (ComboBox) Подгоняем ширину поля со списком под самый длинный текст Поддержка автозавершения Как раскрыть поле со списком программным способом? Как запретить раскрытие списка? Как изменить высоту элементов списка у элемента управления ComboBox? Как установить желаемую высоту выпадающего списка у ComboBox? Как использовать ComboBox для редактирования данных в ListView? Текстовые поля (TextBox) Подсчет числа строк в многострочном текстовом поле Фильтрация заданных символов при вводе с клавиатуры Как заблокировать контекстное меню в текстовом поле? Запрет вставки текста из буфера обмена Windows Как ввести многострочный текст в текстовое поле программно? Как сделать так, чтобы символы вводились в нужном регистре? Как избавиться от звукового сигнала при нажатии на клавишу ввода? Как выделить текст программным способом? Элемент RichTextBox Просмотр форматированного текста RTF Как управлять цветом и шрифтами в RichTextBox? Как управлять текстом-гиперссылкой в RichTextBox? Поддержка Drag’n’Drop Как определить наличие полос прокрутки в элементе RichTextBox? Как запретить вставку Элемент управления MaskedTextBox Элемент DateTimePicker Как показать пустой текст, если в DateTimePicker не выбрана дата? Как программно раскрыть DateTimePicker? Элементы Label и Panel Полупрозрачная надпись Использование Label в виде разделительной линии как элемент дизайна Элемент LinkLabel Отображение лишь части текста в виде ссылки Несколько ссылок в одном LinkLabel NotifyIcon — значок в области уведомлений Как создать мигающий значок в области уведомлений? Как создать анимированный значок в области уведомлений? Свертывание формы вместо закрытия приложения Элемент ListView Как убрать выделение элемента в ListView программно? Как программно выбрать элемент в ListView? Как сортировать элемент управления ListView по колонкам Изменение цвета подэлементов ListView программным путем Элемент управления ToolTip Почему пользователь не видит подсказки в стиле Balloon? Многострочная подсказка Меню Фон для меню Как добавить контекстное меню элементу управления? Как определить, какой элемент вызвал контекстное меню? Автоматическое закрытие контекстного меню через заданный промежуток времени Дерево (TreeView) Как показать подсказку над узлом TreeView? Вкладки (TabControl) Программное переключение на другую вкладку Установка фокуса на элементе управления на вкладке во время загрузки формы Как вывести ярлычки внизу вкладки TabControl? Добавление новой вкладки Удаление вкладки Как вставить вкладку в определенную позицию? Элемент PerformanceCounter Как создать счетчик производительности процессора? StatusBar и StatusStrip Как изменить шрифт и фон для StatusBar Элементы FlowLayoutPanel и TableLayoutPanel Элемент DataGrid Элемент DataGridView Создание собственных элементов управления Как скрыть свойство или метод от IntelliSense в редакторе кода? Как скрыть свойства и события из редактора свойств PropertyGrid при создании собственного элемента управления? Как запретить изменять размер элемента управления во время разработки? Как во время разработки позволить выбирать значение свойства из нескольких предопределенных в поле со списком? Как добиться того, чтобы свойство моего элемента управления было видно в разделе DataBindings окна свойств? Как сделать свой элемент управления, выступающий в роли контейнера для других элементов управления во время разработки? Как присвоить свой значок для собственного элемента управления в панели инструментов? Создание собственного элемента управления SmoothProgressBar Создание элемента SmoothProgressBar Создание клиентской программы для тестирования Заключение Глава 7. Графика Преобразование цвета в HTML-формат Как преобразовать цвет в целое число? Как получить доступ к определенному пикселу изображения? Как нарисовать точку? Как получить цвет любой выбранной точки экрана? Как нарисовать прямоугольник с закругленными краями? Установка фонового изображения Как сделать снимок экрана? Сохранить изображение элемента управления или формы Как получить прокручиваемый рисунок? Получение негатива изображения Сделать изображение серым Как создать затемненную картинку Эффект недоступной кнопки Как нарисовать вдавленный и выпуклый текст? Как получить контурный текст Как отразить текст в зеркальном отражении? Как повернуть текст под некоторым углом? Вот новый поворот (из песни группы "Машина времени") Бегущая градиентная строка Скроллинг текста Анимированные картинки Как сохранить изображение из буфера обмена в файл Шрифты и печать Получение списка установленных шрифтов Использование собственных шрифтов Получение списка установленных принтеров Как распечатать документ? Как показать окно предварительного просмотра перед печатью Заключение Глава 8. Работа с мышью и клавиатурой Мышь Как скрыть и показать указатель мыши? Как установить позицию указателя мыши? Анимированные курсоры Мышеловка Право выбора Меняем кнопки мыши местами Как узнать координаты мыши? Как преобразовать экранные координаты в клиентские (для данного элемента) и наоборот? Как двигать указателем мыши программно? Как выполнить эмуляцию щелчков мыши? Рисование Работа с клавиатурой Как переключать раскладки клавиатуры? Как получить текущий язык ввода? Как послать нажатия клавиш программно? Как включать и выключать индикаторы клавиш , и ? Как определить состояние клавиш-индикаторов? Последнее нажатие на клавишу или на кнопку мыши Заключение Глава 9. Приложения Работа с процессами Как получить полное имя файла запущенного приложения? Как получить путь к папке, из которой запущено приложение? Как запустить другой исполняемый файл из своего приложения? Как закрыть все копии Блокнота? Запуск программы по имени файла Как узнать число процессоров в системе? Как приостановить выполнение программы на несколько секунд? Как получить список всех процессов, запущенных в системе? Как получить список только оконных процессов на моей машине? Как получить список определенных процессов? Получение списка процессов на удаленной машине Как открыть почтовый клиент, установленный по умолчанию, и установить необходимые параметры для отправки письма? Определение операционной системы пользователя Определение версии .NET Framework и ее сервис-пака .NET Framework 1.0 .NET Framework версий 1.1, 2.0 3.0 и v3.5 (Orcas) .NET Framework 3.0 Определение папки установки .NET Framework Номер сборки Обновление номера версии сборки в автоматическом режиме Вызов файла справки CHM Получение номера версии файла и другую информацию Определение имени пользователя системы Как определить, имеет ли ваша система мышь, узнать число кнопок у мыши, размер вашего монитора и другую информацию? Как зарегистрировать файлы DLL и OCX? Извлечение строки или значка из ресурсов Сохранение настроек приложения Работа с реестром Определение архитектуры операционной системы Добавление программы в автозагрузку Получение информации об изменениях в системе Как узнать, что пользователь изменил разрешение экрана? Изменение времени Консольные приложения Журналы событий Как найти доступные журналы событий на компьютере? Чтение и запись логов в журнал событий Запись в журнал Очистка записей в журнале событий Создание собственного журнала событий Удаление собственного журнала событий Измерение времени выполнения кода в приложении Измерение с помощью функций Windows API Измерение с помощью метода Ticks Измерение с помощью TickCount Класс StopWatch Заключение Глава 10. Диски, папки и файлы Диски Как получить список логических дисков? Как узнать тип диска и его свойства? Папки Как получить список папок? Как проверить существование папки? Как переименовать папку? Как удалять папки? Как выбрать папку? Как получить путь для папки Мои документы и других специальных папок Windows? Свойства папки Размеры папки Как написать свой Проводник? Файлы Как получить список файлов в папке? Как получить список папок и файлов? Как получить список файлов по маске? Как узнать, существует ли файл? Как получить имя файла из полного пути файла? Как получить расширение файла из полного пути? Как создать, удалить, переместить файл? Как установить атрибуты у файла? Свойства файла Как извлечь информацию о файле? Как создать временный файл? Как создать уникальное имя для файла? Как ограничить доступ к файлу? Как работать с бинарными файлами? Как работать с текстовыми файлами? Как добавить текст в существующий файл? Построчное чтение текстового файла Загрузить текстовый файл в список? Как получить короткое имя файла из длинного файла и наоборот? Как удалить файл в Корзину Как записать и прочитать текст в различных кодировках? Как прочитать XML-файлы? Сравнение двух файлов Отслеживание изменений в файловой системе Как установить уровень доступа к файлу? Заключение Глава 11. Библиотека WSH Создание ярлыка Получение списка установленных в системе принтеров Установка принтера по умолчанию Получение списка сетевых дисков Заключение Глава 12. WMI Использование WMI на удаленной машине Информация об операционной системе Информация о компьютере Информация о производителе Получение информации о процессорах Информация о свойствах видеоконтроллера Получение свойств приводов компакт-дисков Информация о параметрах загрузки Windows Информация о сетевом адаптере Информация о мониторе Материнская плата Вывод списка общих ресурсов Информация о логических дисках Перезагрузка компьютера Дополнительный пример Заключение Глава 13. Мультимедиа Звуковые сигналы Функция Windows API Beep Функция Windows API MessageBeep Функция Beep для Visual Basic Звуковые файлы И снова о Beep Как проигрывать звуки разных форматов? Воспроизведение MIDI и MP3 через неуправляемый код Извлечение информации из файлов MP3 Взаимодействие с Winamp Заключение Глава 14. Разработка локализованных приложений Общая информация о локализации Локализующие идентификаторы Культура Приложение Culture Explorer Разработка многоязычного приложения Разделяй и властвуй Сопутствующие сборки Заключение Глава 15. Microsoft Office Excel Раннее связывание Автоматизация Excel или как работать массивами Позднее связывание Outlook Как получить сообщения из папки Входящие? Получение уведомлений о новых письмах VSTO Заключение Глава 16. Локальная сеть и Интернет Информация о сети Как получить хост, порт, протокол из веб-адреса? Как получить IP-адрес компьютера, используя DNS? Как получить NETBIOS-имя машины? Как получить IP-адрес локальной машины? Ping Проверка доступности веб-адреса Подключен ли компьютер к Интернету? Пересылка данных по протоколу HTTP Как послать запрос GET и отобразить полученные данные? Как скачать файл из Интернета? Передача файлов по протоколу FTP Закачка файла на FTP-сервер Получение оглавления папки Загрузка файлов Отправка писем через SMTP Использование браузера Mozilla Firefox Работа с локальной сетью Как получить имя текущего пользователя? Как выяснить, подключена ли локальная система к сети, и узнать используемый тип соединения? Получение списка всех компьютеров локальной сети Список SQL-серверов при помощи управляемого кода Как получить дату и время удаленного компьютера? Заключение Глава 17. Функции Windows API Вызов функций Windows API, имеющих выходной строковый параметр char* Изменение типа, применяемого для маршалинга по умолчанию Вызов функций, требующих struct Работа с функциями обратного вызова в C# Создание собственной управляемой библиотеки Примеры использования функций API Блокировка компьютера Является ли текущий пользователь администратором? Мигание заголовка формы Форматирование дисков Открытие и закрытие лотка привода компакт-дисков Создание собственного пункта в системном меню Работа с конфигурационными файлами INI Извлечение значков из файлов Вызов диалогового окна Смена значка Продолжаем работать со значками Панель задач, кнопка Пуск и часы в области уведомлений Смена обоев Рабочего стола Использование функций обратного вызова Получение списка кодовых страниц, установленных в системе Заключение Глава 18. Новинки Visual Studio 2008 Новшества в C# 3.0 Неявно типизированные переменные Инициализация объектов LINQ Вывод чисел из заданного массива с условием Ключевое слово Where Увеличение на единицу ряда чисел Вывод имени числа Вывод строк из массива в разных регистрах Оператор Take Оператор TakeWhile Оператор Skip Оператор SkipWhile Заключение Глава 19. Ссылки на интересные места Сайты Блоги Заключение Описание компакт-диска Предметный указатель

Similar books