Учебно-методическое пособие для студентов и слушателей системы повышения


{ Text = string.Format("координаты: x={0}, y={1}", e



бет72/75
Дата16.03.2023
өлшемі1,62 Mb.
#74783
түріУчебно-методическое пособие
1   ...   67   68   69   70   71   72   73   74   75
{ Text = string.Format("координаты: x={0}, y={1}", e.X, e.Y);
}
Для управления графическими объектами нередко используют и клавиату- ру. События клавиатуры KeyUp, KeyDown работают в сочетании с делегатом KeyEventHandler.
Например, при регистрации события нажатия клавиши записывается строка
KeyDown += new KeyEventHandler(Form1_KeyUp);
Создается шаблон метода-обработчика, которому передаются: объект-источ- ник события и объект класса KeyEventArgs, который содержит информацию о событии, например: KeyCode – код клавиши для событий KeyDown или KeyUp; Modifiers – какие модифицирующие клавиши (Shift, Alt, Control) были нажаты; Handled – было ли событие полностью обработано.
Эту информацию можно использовать в обработчике, например:
private void Form1_KeyDown (object sender, KeyEventArgs e)
{ MessageBox.Show(e.KeyCode.ToString(), “клавиша нажата!");
}


Пример 1


Вывод графических примитивов на форму.



  1. Создадим новый проект wf351 типа Windows Forms.

  2. Подключим пространство имен System.Drawing.

  3. Разместим на форме поле выбора со списком listBox1. В пункте Item ок- на свойств введем список графических примитивов: Line, Rectangle, FillRec- tangle, Ellipse, FillEllipse, Pie, FillPie (рис. 3.23).

Рис. 3.23. Выбор и рисование графических примитивов на форме





  1. Зарегистрируем событие выбора из списка SelectedIndexChanged. В шаб- лон обработчика введем код выбора и вывода примитивов на форму:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{ Graphics g = this.CreateGraphics(); // создание графического объекта
Pen pn = new Pen(Color.Red,4); // создание пера
Brush br = new SolidBrush(Color.Green); // создание кисти g.Clear(SystemColors.Control); // очистка области цветом формы switch (listBox1.SelectedIndex) // выбор и рисование примитива
{ case 0: g.DrawLine(pn, 150,40, 350,180); break;
case 1: g.DrawRectangle(pn, 150,30, 250,150); break;
case 2: g.FillRectangle(br, 150, 30, 250, 150); break;
case 3: g.DrawEllipse(pn, 150,30, 250,150); break;
case 4: g.FillEllipse(br, 150, 30, 250, 150); break;
case 5: g.DrawPie(pn, 150,30, 200,200, 180,225); break;
case 6: g.FillPie(br, 150,30, 150,150, 0,45); break;
}
}

  1. Протестируем программу. Откорректируем свойства компонентов и код.



Достарыңызбен бөлісу:
1   ...   67   68   69   70   71   72   73   74   75




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет