Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Листинг 13.2. Динамическое создание элементов управления на форме во время выполнения

Листинг 13.2. Динамическое создание элементов управления на форме во время выполнения

//-------------------------------------
//Счетчик количества создаваемых кнопок
//-------------------------------------
private int m_nextNewButtonIndex;
//---------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Обработчик щелчка на кнопке, которая
// имеется на нашей форме.
//
//Эта функция создает новую кнопку, присоединяет ее к нашей форме
//и подключает обработчик события щелчка для нее
//---------------------------------------------------------------
private void buttonCreateNewButtons_Click(object sender, System.EventArgs e) {
 //Впоследствии мы начнем создавать новые кнопки, начиная
 //снизу экрана, поэтому ограничиваем их количество восемью
 if (m_nextNewButtonIndex > 8) {
  return;
 }
 //----------------------------------------------------
 //Создать кнопку (еще не присоединенную к нашей форме)
 //установить ее местоположение, размеры и текст
 //----------------------------------------------------
 const int newButtonHeight = 15;
 System.Windows.Forms.Button newButton;
 newButton = new System.Windows.Forms.Button();
 newButton.Width = 100;
 newButton.Height = newButtonHeight;
 newButton.Left = 2;
 newButton.Top = (newButtonHeight + 2) * m_nextNewButtonIndex;
 newButton.Text = "New Button " + m_nextNewButtonIndex.ToString();
 //--------------------------------------------------
 //Присоединить обработчик к событию щелчка на данном
 //элементе управления.
 //--------------------------------------------------
 newButton.Click += new System.EventHandler(this.ClickHandlerForButtons);
 //-----------------------------------------
 //Присоединить эту кнопку к форме. По сути,
 //это создаст кнопку на форме!
 //-----------------------------------------
 newButton.Parent = this;
 //Увеличить счетчик в соответствии с созданием очередной кнопки
 m_nextNewButtonIndex++;
}
//-----------------------------------------------------
//Обработчик событий, который мы динамически подключаем
//к нашим новым кнопкам
//-----------------------------------------------------
private void ClickHandlerForButtons(object sender, System.EventArgs e) {
 Button buttonCausingEvent;
 buttonCausingEvent = (System.Windows.Forms.Button)sender;
 //Вызвать окно сообщений, извещающее о том,
 //что мы получили событие
 System.Windows.Forms.MessageBox.Show("Click event from: nr'" + buttonCausingEvent.Text + "'");
}

Оглавление книги


Генерация: 1.661. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз