Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:
Листинг 11.1. Заполнение данными и очистка от них элементов управления TreeView с использованием альтернативных стратегий

//---------------------------------------------------------------------

//Примечание #1: В этом примере используется класс PerformanceSampling,

// определенный ранее в данной книге. Убедитесь в том, что

// вы включили этот класс в свой проект.

//Примечание #2: Этот код необходимо включить в класс Form, содержащий

// элемент управления TreeView и кнопки Button, к которым

// подключены приведенные ниже функции xxx_Click.

//---------------------------------------------------------------------

//Количество элементов, которые необходимо поместить в элемент

//управления TreeView

const int NUMBER_ITEMS = 800;

//-------------------------------------------------------------------------

//Код для кнопки "Fill: Baseline"

//

//Использование неоптимизированного подхода для заполнения данными элемента

//управления TreeView

//-------------------------------------------------------------------------

private void UnOptimizedFill_Click(object sender, System.EventArgs e) {

 //Очистить массив для создания одинаковых условий тестирования

 if (treeView1.Nodes.Count > 0) {

treeView1.BeginUpdate;

treeView1.Nodes.Clear;

treeView1.EndUpdate;

treeView1.Update;

 }

 //Для повышения корректности тестирования предварительно выполнить

 //операцию сборки мусора

 System.GC.Collect;

 //Запустить таймер

 PerformanceSampling.StartSample(0, "TreeViewPopulate");

 //Заполнить данными элемент управления TreeView

 for (int i = 0; i < NUMBER_ITEMS; i++) {

treeView1.Nodes.Add("TreeItem" + i.ToString);

 }

 //Остановить таймер и отобразить результат

 PerformanceSampling.StopSample(0);

 System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(0));

}

//-------------------------------------------------------------------------

//Код для кнопки "Clear: Baseline"

//

//Использование неоптимизированного подхода для заполнения данными элемента

//управления TreeView

//-------------------------------------------------------------------------

private void UnOptimizedClear_Click(object sender, System.EventArgs e) {

 //Для повышения корректности тестирования предварительно выполнить

 //операцию сборки мусора

 System.GC.Collect;

 //Запустить таймер

 PerformanceSampling.StartSample(1, "TreeViewClear");

 treeView1.Nodes.Clear;

 PerformanceSampling.StopSample(1);

 System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(1));

}

//--------------------------------------------------

//Код для кнопки "Fill: BeginUpdate"

//

//Подход, в котором используется метод BeginUpdate

//--------------------------------------------------

private void UseBeginEndUpdateForFill_Click(object sender, System.EventArgs e) {

 //Очистить массив для создания одинаковых условий тестирования

  • Читать дальше
  • 1
  • ...
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: