Дата публикации статьи: 03.01.2005 20:41

Гайдар Магдануров
Microsoft Visual Studio 2005
Часть 4. Объект My. Ресурсы. Настройки приложения

  • Введение
  • Объект My как он есть
  • My.Application
  • My.Computer
  • My.Forms
  • My.Resources
  • My.User
  • My.WebServices
  • My.DataSources
  • Использование ресурсов
  • Настройки приложения
  • Заключение
  • Обсудить в форуме
  • Скачать исходный код к статье
  • Введение

    Мы продолжаем изучать новинки Visual Studio 2005 и Framework 2.0. В этой статье я познакомлю вас с новым объектом, который стал доступным для Visual Basic программистов в Framework 2.0.
    Объект My в чем-то похож на "горячие клавиши", которые используют большинство профессиональных пользователей ПК и которые позволяют быстро команду без "ползанья" мышкой по пунктам меню. Программисты работавшие с Visual Basic .NET ранее по достоинству оценят простоту и удобство работы с этим новым объектом. Попутно в этой же статье будет рассказано об использовании ресурсов и настроек приложения, хранимых в xml файле.
    Прилагаемый к статье пример требует установленного Framowork v2.0.40426 и Visual Studio 2005 Beta 1 для редактирования и компияции. Если у вас нет Visual Studio 2005, вы можете посмотреть каждый файл исходного кода отдельно пользуясь Visual Studio 2003/2002 или Notepad. Приношу извинения перед теми, кто просил меня писать примеры на русском языке, к вашему сожалению, я все-таки предпочитаю использовать английский язык. Надеюсь, что это не будет большим неудобством (тонкий намек, что больше не надо писать писем с просьбами создавать русскоязычный UI для примеров).

    Объект My как он есть

    Прежде, чем познакомится с содержимым объекта My определимся, как получить к нему доступ. Очень просто, заглянув в Object Browser (F2) мы обнаружим, что объект My принадлежит пространству имен приложения. Взгляните на приведенную ниже диаграмму с кратким описанием содержимого объекта My.

    Полагаю, что из самих названий объектов понятно какую функциональность они предоставляют. Я, к сожалению, в этой статье не смогу подробно рассказать о каждом из этих объектов и их свойствах, поскольку они охватывают огромное количество функций Framework. Все это - материал для дальнейших статей и исследований - не бойтесь лишний раз попробовать "поиграть" свойствами объектов "My.Объект" и испробовать доступные функции, а Visual Studio поможет вам в этом (IntelliSense).

    My.Application

    Объект позволяет получить доступ к информации о текущем исполняющемся приложении. С помощью этого объекта нельзя получить какой-либо системной информации, но для этого есть и другие объекты не так ли? My.Application, например, позволяет с легкостью заполнить информацией диалоговое окно About (О программе), а также узнать с какими ключами командной строки запущено приложение.

    Свойство

    Описание

    CLRVersionInUse Версия используемого Framework
    CommandLine Командная строку с помощью которой запущено приложение
    CommandLineArgs Коллекция аргументов командной строки
    CompanyName Имя компании (задается в свойствах сборки)
    Culture Позволяет узнать текущую культуру ассоциированую с UI приложения, а также изменить ее свойства
    Description Описание приложения (задается в свойствах сборки)
    EnvironmentVariables Колекция переменных окружения среды в которой выполняется приложение
    FileName Имя файла
    Folder Имя директории в которой находится выполняемый файл
    LegalCopyright Копирайт (задается в свойствах сборки)
    LegalTrademark Торговая марка (задается в свойствах сборки)
    Log Позволяет получить доступ к логу текущего приложения
    ProductName Название продукта (задается в свойствах сборки)
    SpecialFolders Позволяет получить доступ к специальным директориям доступным приложению
    Title Название приложения (задается в свойствах сборки)
    Version Версия приложения

    Использование некоторых из этих свойств вы можете посмотреть в примере. Там эти свойства используются для заполнения диалогового окна About. Кстати, чтобы создать это информационное окно мне не понадобилось практически ничего делать, только лишь добавить шаблон информационного окна, который разработчики Visual Studio услужливо включили в поставку Visual Studio. Стоит отметить, что, по крайней мере в имеющейся у меня beta версии, My.Application при отладке возвращал описание файла vshost.exe. Возможно в следующих версиях Visual Studio это будет исправлено.
    О использовании объекта Log можно написать отдельную статью, поэтому в данной статье он не рассматривается.

    My.Computer

    Этот объект позволяет получить доступ к информации о компьютере, на котором выполняется приложение. Свойства заполняются во время выполнения сведениями о текущей конфигурации компьютера.

    Свойство

    Описание

    Audio Позволяет проигрывать звуковые файлы
    Clipboard Управление буфером обмена
    Clock Управление системными часами
    FileSystem Функции файловой системы
    Info Информация о компьютере
    Keyboard Информация о состоянии клавиатуры
    Mouse Информация о состоянии мыши
    Name Имя компьютера
    Folder Имя директории в которой находится выполняемый файл
    Network Функции работы с сетью
    Ports Информация о последовательных портах (COM, LPT)
    Printers Информация о принтерах
    Registry Функции работы с реестром
    Screen Информация о текущих свойствах экрана

    О каждом из этих свойств можно написать огромный трактат, но в этом нет особого смысла при наличии MSDN и IntelliSense, а также здравого смысла у читателя.

    My.Forms

    Данный объект содержит информацию о всех формах в текущей сборке. Например, если в сборке есть форма frmAbout, то получить доступ к свойствам этой формы можно так: My.Forms.frmAbout.

    My.Resources

    Объект позволяет получить доступ ко всем ресурсам приложения. Подробнее о ресурсах и их использовании смотрите соответствующий раздел этой статьи.

    My.User

    Свойство

    Описание

    Identity Доступ к информации о текущей учетной записи пользователя
    IsInRole Метод, позволяющий проверить присвоена ли данной учетной записи пользователя соответствующая роль
    My.Webservices

    Позволяет получить доступ к имеющимся Web службам.

    My.DataSources

    Позволяет получить доступ к имеющимся источникам данных.

    Использование ресурсов

    Теперь я расскажу вам о том как просто и удобно использовать файлы ресурсов приложения имея под рукой такое мощное средство разработки как Visual Studio 2005. Для начала перейдем в раздел Resources свойств проекта и рассмотрим его возможности.
        Очень удобно, что можно видеть добавленные в ресурсы картинки не открывая каждую, таким образом можно ориентироваться не только на название той или иной картинки, но и на то, что, собственно, на ней изображено. А это, согласитесь весьма удобно, особенное если коллега любит названия image001, image002, а вам надо доделать его проект, причем как можно быстрее.

    Редактирование ресурсов не составляет труда и интуитивно понятно. Visual Studio поддерживает все наиболее распространенные форматы графических файлов и вам не придется часто прибегать у услугам дизайнеров или самостоятельно конвертировать файлы в какой-нибудь более удобный формат, ну, разве что если вы не захотите использовать что-нибдуь очень специфичное.
        Создание и редактирование строковых ресурсов тоже не составляет труда. Достаточно задать название (уникальный идентификатор строки), саму строку и, по желанию, комментарий, который подскажет вам или вашим коллегам в дальнейшем, зачем вы добавили эту строку.

    Теперь используем созданные ресурсы в нашем приложении-примере. Для этого в обработчик события загрузки формы добавим код устанавливающий название нашего приложения, а также код устанавливающий картинку с изображением мыши в зависимости от наличия у нее колесика для прокрутки.

    Me.Text = My.Resources.ApplicationName
    If My.Computer.Mouse.WheelExists Then
      Me.picMouse.Image = My.Resources.mouse ' mouse with wheel
      lblWheel.ForeColor = System.Drawing.Color.Red
    End If

    Обратите внимание, что ресурсы уже строго типизованы и не требуют дополнительного приведения типов.

    Настройки приложения

    И несколько слов о настройках приложения, которые хранятся в файле your_application_name.exe.xml. Опытные .NET программисты знают каким образом осуществлялся доступ к этим настройкам и зачем они нужны. Новичкам, начинающим с 2005 версии Visual Studio знать как было раньше уже и необязательно, а зачем - стоит сказать пару слов. Допустим, что ваше приложение использует некоторую директорию для хранения временных файлов и имя этой директории содержится в xml файле, вместе, например, с инструкцией приложению каким образом необходимо идентифицировать пользователей - паролем или электронным ключом. Изменить эти установки сможет администратор или пользователь приложения, причем без перекомпиляции приложения. Раньше для этих целей использовался реестр Windows, еще раньше INI файлы, а еще раньше и Windows-то никакого не было.
        Создать новую запись о настройке приложения не сложнее, чем создать новую строку в ресурсах. В разделе свойств проекта Settings вы можете присвоить имя, значение и тип каждой настройке. В принципе, отличие от ресурсов лишь в типе данных, который может установить пользователь.
        К огромному неудовольствию пользователей в Beta 1 Visual Studio с настройками возникают проблемы, поэтому пока я рекомендую не использовать их в своих прилождениях, а дождаться более устойчивой работы, например в Beta 2.

    Заключение

    Эта совсем поверхностная обзорная статья предназначена лишь для знакомства с объектом My и его свойствами. Говоря короче, для того, чтобы читатель знал, что он может искать в этом объекте и в чем преимущества его использования. В дальнейших статьях я, возможно, больше расскажу о My. Если у вас есть пожелания, мой читатель, не стесняйтесь написать мне - gaidar@vbstreets.ru.