Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C#_справочные сведения.doc
Скачиваний:
9
Добавлен:
26.04.2019
Размер:
384.51 Кб
Скачать

Урок 17. Применяем стили xp

Вы, наверное, замечали, что элементы управления внутри формы у C#-программ не имеют стилей Windows XP (в отличие от самой формы). Например, форма может выглядеть так:

Для применения к элементам управления новых стилей Windows XP вы должны сделать две вещи. Во-первых, вы должны добавить к приложению возможность применения разных стилей. Для этого просто вызываем метод EnableVisualStyles:

static void Main()

{

// Добавляем возможность применнения стилей.

Application.EnableVisualStyles();

Application.Run(new Form1());

}

Обратите внимание, что это мы делаем до вызова метода Run.

И во-вторых, мы должны для всех элементов управления, имеющих свойство FlatStyle, присвоить этому свойству значение System. Тут трудность в том, что не все элементы поддерживают это свойство (те, которые не поддерживают, и так будут иметь стиль Windows XP). Это же свойство есть только у элементов управления, являющихся потомками класса ButtonBase (а именно Button, RadioButton и CheckBox). Изменять это свойство у все элементов управления, его имеющих - лень, так что лучше это сделать за один раз при загрузке формы, например так:

private void Form1_Load(object sender, System.EventArgs e)

{

// Перебираем все элементы на форме.

foreach(Control c in Controls)

{

// Если элемент есть потомок класса ButtonBase,

if(c is ButtonBase)

{

// то применяем стиль XP.

((ButtonBase)c).FlatStyle = FlatStyle.System;

}

}

}

После этого элементы управления на нашем окне будет выглядеть так:

Урок 18. TreeView - показываем каталоги

TreeView, который мы начали смотреть на уроке 14 идеально подходит для показа файловой системы компьютера. Осталось только добиться, чтобы узлы дерева действительно соответствовали папкам на вашем компьютере.

Этим мы и займемся на ближайших трех уроках.

Итак, создайте Windows-приложение и разместите на его форме элементЫ дерево (TreeView) и кнопку (Button). Их имена оставьте без изменений.

Для начала добавим обработчик щелчка по кнопке:

private void button1_Click(object sender, System.EventArgs e)

{

// Получаем все диски (a:, c: и т.д.).

string [] drives = Directory.GetLogicalDrives();

foreach(string s in drives)

{

// Добавляем корневой элемент для каждого диска.

TreeNode tn = treeView1.Nodes.Add(s);

// Добавляем фиктивный подузел для каждого

// диска (для появления квадратика с плюсиком).

tn.Nodes.Add("");

// Устанавливаем свойство tag.

// Пустое значение свойства ("") - узел еще не раскрывался.

// Плюс ("+") - узел раскрывался и в него были

// добавлены нужные подузлы.

tn.Tag = "";

}

}

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

Двигаемся дальше. Добавим код, выполняющийся перед раскрытием некоторой ветки дерева:

// Перед раскрытием ветки дерева вызываем NodeExpand.

private void treeView1_BeforeExpand(object sender,

System.Windows.Forms.TreeViewCancelEventArgs e)

{

// Добавление подузлов перед раскрытием.

NodeExpand(e.Node);

}

Тут мы вызываем метод NodeExpand, которые мы еще не написали. Это мы сделаем на следующем уроке, а пока все.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]