|
Программирование >> Автоматически обновляемые приложения
Листинг 6.63. Вставка вкладки в определенную позицию / <summary> / Вставляет вкладку в заданную позицию / </summary> / <param name= tabNuiTiber >HoMep вкладки</рагат> / <param name= tabControl >Элeмeнт TabControl</param> private void InsertTab(int tabNuinber, ref TabControl tabControl) int counter = tabControl.Controls.Count; if (tabNuinber < 0 tabNuinber > counter) { tabControl.Controls.Add(new TabPage( Вкладка )); return; int target = tabControl.Selectedlndex; сохраняем существующие ярлычки и очищаем элементы Control[] с = new Control[counter]; tabControl.Controls.СоруТо(с, 0) ; tabControl.Controls.Clear() ; Добавляем ярлычки до вставляемого элемента for (mt i = 0; i < target; ++i) tabControl.Controls.Add(c[i]); Вставляем свой ярлычок tabControl.Controls.Add(new TabPage( Вставленная вкладка )), Добавляем ярлычки после вставляемого элемента for (int i = target; i < counter; ++i) tabControl.Controls.Add(c[i]) ; Как вставить вкладку в определенную позицию? Резонно возникает вопрос: а как вставить вкладку не в конец, а в определенную позицию? Напрямую, встроенными средствами эту задачу не решить. Пойдем обходным путем и создадим собственную процедуру (листинг 6.63), позволяющую вставлять ярлычок вкладки в любую позицию. Примечание Примеры работы с элементом TabControl находятся в папке TabControl на прилагаемом диске. Элемент PerformanceCounter Элемент PerformanceCounter ЯВЛЯетсЯ удобным средСТВОМ ДЛЯ ОТСЛеживанИЯ производительности ресурсов системы или получения данных о производительности приложения. Возможности элемента PerformanceCounter ОЧенЬ обширны, поэтому остановимся только на одном примере. Как создать счетчик производительности процессора? Создать приложение, которое будет отслеживать загрузку процессора, можно буквально за пару минут, что является еще одним свидетельством могущества платформы .NET Framework. Разместите на форме элементы ProgressBar, Label, Timer и PerformanceCounter. Далее установим необходимые СВОЙСТВа у этих элементов. Элемент Label оставляем без изменений. Все необходимые значения у него будут устанавливаться программным путем. У индикатора прогресса установим значение свойства step равным 1. Для таймера установим значение свойства interval равным юоо и сделаем его доступным при запуске приложение (Enabled = True). Первоначальные приготовления завершены. Теперь перейдем к набору счетчиков PerformanceCounter. Вся еГО настройка может быть осуществлена через окно свойств дизайнера форм (рис. 6.10). Выбираем вставленную вкладку tabControl.Selectedlndex = target; private void button5 Click(object sender, EventArgs e) { Добавляем ярлычок во вторую позицию InsertTab(2, ref tabControll);
Рис. 6.10. Окно свойств для Perf omanceCounter Выберите свойство categoryName, далее ИЗ списка выберите пункт Processor. Кстати, обратите внимание, какое большое количество возможных категорий для счетчиков можно выбрать из данного списка. Теперь переходим к свойству CounterName. Так как В Предыдущем шаге мы выбрали уже конкретную категорию, то здесь нам будет предложен для выбора список счетчиков производительности, относящихся к процессорам. Давайте выберем значение % Processor Time И установим в СВОЙСТве InstanceName значение Total. Если у вас в системе установлено несколько процессоров, то в этом свойстве можете указать, какой процессор вас интересует. Осталось только написать пару строчек кода (листинг 6.64), и приложение готово! nmimi; 6*64. Проверка шрут процессора private void timerl Tick(object sender, EventArgs e) { progressBarl.Value = (int)(performanceCounterl.NextValue()); labell.Text = Загрузка процессора: + progressBarl.Value.ToStringО + % ; Запустив программу, вы увидите текущую нагрузку процессора в реальном времени на своей машине (рис. 6.11). Обратите внимание, что у элемента PerformanceCounter ИМеетСЯ СВОЙСТВО MachineName, КОТОрое ПОЗВОЛЯет Снимать показания не только с локальной машины, но и с удаленного компьюте-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |