
- •Урок 7. Работаем с xml-файлом
- •Урок 10. Класс SystemInformation
- •Урок 13. Получаем список всех установленных шрифтов
- •Урок 15. Продолжаем работать с TreeView
- •Урок 17. Применяем стили xp
- •Урок 18. TreeView - показываем каталоги
- •Урок 19. TreeView для каталогов - продолжение
- •Урок 26.Передаем данные из диалога
Урок 10. Класс SystemInformation
Класс SystemInformation предоставляет различную информацию о системе. Например, с его помощью можно выяснить размеры различных элементов пользовательского интерфейса (высоту заголовка окна, горизонтальное расстояние между узлами сетки, по которым распологаются иконки на рабочем столе и др.), узнать информацию о текущем пользователе, наличие сети и многое другое.
Для получения такой информации мы должны использовать различные статические методы этого класса. Вот пример:
// Размер экрана.
Size sz = SystemInformation.PrimaryMonitorSize;
// Имя компьтера.
String cn = SystemInformation.ComputerName;
// Количество кнопок у мыши.
int k = SystemInformation.MouseButtons;
// Используемый шрифт для меню и его имя.
Font f = SystemInformation.MenuFont;
String fn = f.Name;
// Присутствует ли сеть?
bool b = SystemInformation.Network;
// Имя текущего пользователя.
String un = SystemInformation.UserName;
// Ширина вертикальной полосы прокрутки.
int w = SystemInformation.VerticalScrollBarWidth;
Для использования указанного фрагмента надо подключить нужные пространства имен:
using System.Windows.Forms; // Для использования SystemInformation.
using System.Drawing; // Для использования Font.
Свойство SystemInformation.MouseButtons может возвращать число и большее трех (например, если у вашей мыши есть еще две кнопки сбоку слева, то значение этого свойства будет равно 5, так что эти кнопки тоже можно обнаружить).
Отчасти методы класса SystemInformation заменяют API-функцию GetSystemMetrics - и мы сможем узнать размеры различных элементов пользовательского интерфейса. В нашем примере мы узнали ширину вертикальной полосы прокрутки.
Урок 11. Работаем со сплиттером
Splitter (разделитель) предназначен для деления окна вашей программмы на две или более частей. Классический пример окна со сплиттером - это окно Проводника Windows. В нем слева находится окно с древовидным представлением папок на жестком диске, а справа - фалы в соответствующей папке.
В первом примере мы рассмотрим, как создать окно с одним вертикальным сплиттером. Правая и левая части у нас будут заполенены элементом Panel (это панель, на которой могут располагаться другие элементы управления - в нашем случае на обоих Panel ничего располагаться не будет).
Итак, приступаем.
Создайте Windows-приложение на C#. Теперь нам надо добавить в окно два элемента Panel и один Splitter. Внимание! При добавлении важно соблюдать порядок - скачала добавляем левый Panel, потом Splittеr и последним элементом добавляем правый Panel. Добавляемые элементы выглядят в окне Toolbox так:
и так:
После добавления элементы расположатся на форме с беспордке (а именно там, куда вы их кинете). Для правильного расположения необходимо у всех них установить правильные значения свойства Dock, а именно у левого (первого) Panel - в Left, у сплиттера - тоже в Left и у второго (правого) Panel - в Fill (это значение задает то, что панель будет заполнять все оставшее место на форме). Для того, что бы лучше было видно результаты нашей работы на форме после запуска, мы можем покрасить панели и сплиттер в разные цвета (для этого надо поменять свойство BackColor).
Запускаем программу. Окно будет выглядеть приблизительно так:
Сплиттер при этом можно двигать, и курсор для сплиттера будет такой, как и в других приложениях Windows - две вертикальные палочки со стрелочками влево-вправо.
Теперь рассмотрим другой пример - а именно окно с двумы сплиттерами и тремя областями соответственно. Выглядеть наше окно будет так:
Для создания такого окна надо расположить на форме панель panel1, сплиттер splitter1, панель panel2, сплиттер splitter2 и панель panel3 (именно в таком порядке!). Далее надо установить значения свойства Dock для них следующим образом: panel1 - Bottom, splitter1 - Bottom, panel2 - Left, splitter2 - Left и panel3 - Fill. Опять же для лучшей демонстрации работы сплиттеров можно раскрасить панели. И, так же как и в первом примере, сплиттеры можно двигать.
В реальном приложении на панелях располагаются разные элементы пользовательского интефейса.
Урок 12. Окно нестандартной формы
Сделать окно нестандартной формы на C# или другом .NET'овском языке достаточно просто.
Схема действий тут такая - мы должжны создать регион (экземпляр класса Region) и присвоить его одноименному свойству формы. Создать регион можно разными способами - например, через объект GraphicsPath: к экземпляру GraphicsPath мы прибавим несколько фигур, которые будут задавать границу нашего GraphicsPath.
Вот пример кода:
private void Form1_Load(object sender, System.EventArgs e)
{
// Создаем объект GraphicsPath.
GraphicsPath gp= new GraphicsPath();
// Прибавляем два круга.
gp.AddEllipse(0, 0, 100, 100);
gp.AddEllipse(110, 0, 100, 100);
// Создаем регион на основе экземпляра GraphicsPath.
Region r = new Region(gp);
// Присваиваем созданный регион
// региону нашего окна.
this.Region = r;
}
После запуска программы она будет выглядеть так: