Бібліотека Windows. Forms. Бібліотека Windows. Forms


НазваБібліотека Windows. Forms. Бібліотека Windows. Forms
Дата конвертації11.04.2013
Розмір445 b.
ТипПрезентации



Бібліотека Windows.Forms.

  • Бібліотека Windows.Forms.

  • Зручні можливості для створення в середовищі Visual Studio, але графічні програми можна писати і в режимі створення консольних застосувань, і лише засобами командного рядка.



using System;

  • using System;

  • using System.Windows.Forms; //імпорт бібліотеки

  • namespace MyApp {

  • public class MainWindow:Form

  • {//підклас класу Form

  • public static void Main() {

  • Application.Run(new MainWindow()); //запуск

  • }

  • }

  • }



Це застосування можна відкомпілювати і запустити способом, характерним для консольних застосувань, але тоді спочатку запуститься консоль, а потім відкриється вікно.

  • Це застосування можна відкомпілювати і запустити способом, характерним для консольних застосувань, але тоді спочатку запуститься консоль, а потім відкриється вікно.

  • Натомість можна відкомпілювати так:

  • сsc /target:winexe /out:mainwindow.exe mainwindow.cs





public class MainWindow:Form {

  • public class MainWindow:Form {

  • public MainWindow() {

  • //Встановлення властивостей

  • this.Text="Крута прога";

  • //Додавання компонента

  • this.Controls.Add(new MonthCalendar());

  • }

  • public static void Main() {

  • Application.Run(new MainWindow());

  • }

  • }



Форма з двома текстовими полями та кнопкою. В одному полі вводиться ім’я користувача, після натискання кнопки виводиться привітання цьому користувачеві.

  • Форма з двома текстовими полями та кнопкою. В одному полі вводиться ім’я користувача, після натискання кнопки виводиться привітання цьому користувачеві.

  • Подія Click.

  • Спробуємо добитися, щоб аналогічна реакція відбувалася після натискання на Enter в полі введення. Можна обробляти подію KeyPress і аналізувати код натисненої клавіші, але є більш простий спосіб – властивість AcceptButton форми.



private void button1_Click(object sender, EventArgs e)

  • private void button1_Click(object sender, EventArgs e)

  • {

  • tout.Text = "Hello, "+tin.Text;

  • tin.Text = “”;

  • }



Як зробити так, щоб один і той самий обробник реагував на події, пов’язані з кількома елементами управління?

  • Як зробити так, щоб один і той самий обробник реагував на події, пов’язані з кількома елементами управління?

  • Приклад: дві кнопки та одна мітка, яка відображає, яка саме з цих кнопок була натиснена. Типова схема: створюється обробник для однієї кнопки, який просто прив’язується до іншої. Важливе значення при цьому має обробка sender.



private void treater(object sender, EventArgs e)

  • private void treater(object sender, EventArgs e)

  • {if (sender == button1)

  • label1.Text = "First button clicked";

  • else label1.Text = "Second button entered";

  • }



Важливі методи для роботи з графічними застосуваннями.

  • Важливі методи для роботи з графічними застосуваннями.

  • Run(форма) – запуск Windows-застосування з головною формою, вказаною як аргумент.

  • Exit() – завершення застосування.



Форми, які створюються для того чи іншого графічного застосування, як правило, мають бути похідними від класу Form.

  • Форми, які створюються для того чи іншого графічного застосування, як правило, мають бути похідними від класу Form.

  • Одне застосування може використовувати декілька форм; одна з них є головною.

  • Оголошення partial, напр:

  • public partial class Form1 : Form



Подія ApplicationExit виникає, коли застосування завершує роботу.

  • Подія ApplicationExit виникає, коли застосування завершує роботу.

  • Демонстрація: створення обробника, який виводить відповідне повідомлення (за допомогою методу MessageBox.Show).



static void Main()

  • static void Main()

  • {

  • Application.ApplicationExit += new EventHandler(Application_ApplicationExit);

  • Form form = new Form1();

  • Application.Run(form);

  • }

  • static void Application_ApplicationExit(object sender, EventArgs e)

  • {

  • String message="Кінець Вашому застосуванню";

  • String caption = "Finita la comedia“; MessageBox.Show( message,caption,

  • MessageBoxButtons.OK,

  • MessageBoxIcon. Exclamation);

  • }



Дії, задані в конструкторі форми.

  • Дії, задані в конструкторі форми.

  • Load.

  • Activated.

  • Deactivate.

  • Closing.

  • Closed.



Найважливіший елемент – виклик методу InitializeComponent(), в якому встановлюються властивості форми, додаються компоненти, які мають бути на формі і т.п.

  • Найважливіший елемент – виклик методу InitializeComponent(), в якому встановлюються властивості форми, додаються компоненти, які мають бути на формі і т.п.

  • Генерується візуальним дизайнером.



private void Form1_FormClosing(object sender, FormClosingEventArgs e)

  • private void Form1_FormClosing(object sender, FormClosingEventArgs e)

  • {

  • if (MessageBox.Show( “Do you want to exit?", "Closing", MessageBoxButtons.YesNo) !=

  • DialogResult.Yes)

  • e.Cancel = true;

  • }



Клас, базовий для візуальних елементів управління, в т.ч. для форм.

  • Клас, базовий для візуальних елементів управління, в т.ч. для форм.

  • Властивості дозволяють встановити розмір, розміщення в контейнері і т.п.

  • Властивість Controls - колекція, яка містить перелік дочірніх елементів. Відповідно, додавання дочірнього елемента – Controls.Add(…).

  • Важливо – події та їх обробники.



Миша (Click, DoubleClick, MouseDown) та ін. Властивості параметру MouseEventArgs містить інформацію про координати кліку, яка саме кнопка була натиснена і т.п.

  • Миша (Click, DoubleClick, MouseDown) та ін. Властивості параметру MouseEventArgs містить інформацію про координати кліку, яка саме кнопка була натиснена і т.п.

  • Клавіатура (KeyPress, KeyUp та ін.) Параметр KeyEventArgs.

  • Enter, Leave, Validating, Validated – події, пов’язані з отриманням та втратою фокусу введення.

  • Paint – подія, яка виникає при необхідності перемалювати компонент.



Ідея – використати компонент Timer. Налаштувати його так, щоб він з певною періодичністю генерував подію Tick; а в обробнику передбачити виведення поточного часу.

  • Ідея – використати компонент Timer. Налаштувати його так, щоб він з певною періодичністю генерував подію Tick; а в обробнику передбачити виведення поточного часу.



private void timer1_Tick(object sender, EventArgs e)

  • private void timer1_Tick(object sender, EventArgs e)

  • {

  • tl2.Text = DateTime.Now.ToLongTimeString();

  • }



comboBox1.DataSource = null;

  • comboBox1.DataSource = null;

  • //ls – колекція екземплярів деякого класу

  • ls.Add (new Vendor {Name="Ivanov", Tovar=“Books"});

  • ls.Add (new Vendor {Name="Petrov", Tovar=“CDs"});

  • ls.Add(new Vendor { Name = "Sidorov", Tovar = “Software" });

  • comboBox1.Items.Clear();

  • comboBox1.DataSource = ls;

  • comboBox1.DisplayMember = "Name";

  • //поле, яке відображається в списку

  • comboBox1.ValueMember = "Tovar";

  • //поле, яке повертається як значення



String s = (String)comboBox1.SelectedValue;

  • String s = (String)comboBox1.SelectedValue;

  • label1.Text = "Ви обрали " + s;



Призначений для перевірки правильності введення полів форми.

  • Призначений для перевірки правильності введення полів форми.

  • Пов’язаний з подією Validating.



private void textBox1_Validating(object sender, CancelEventArgs e)

  • private void textBox1_Validating(object sender, CancelEventArgs e)

  • {

  • if (textBox1.Text.Length > 5)

  • {

  • errorProvider1.SetError((Control)sender, "Enter the correct words");

  • e.Cancel = true;

  • }

  • else

  • {

  • errorProvider1.SetError((Control)sender, "");

  • }

  • }



Компонента RichTextBox, яка дозволяє працювати з RTF-форматом.

  • Компонента RichTextBox, яка дозволяє працювати з RTF-форматом.

  • ToolStrip.

  • MenuStrip.

  • Команда InsertStandardItems.

  • Програмування відповідних обробників.



private void button1_Click(object sender, EventArgs e)

  • private void button1_Click(object sender, EventArgs e)

  • {

  • OpenFileDialog ofd = new OpenFileDialog();

  • ofd.Filter = "RTF|*.rtf";

  • if (ofd.ShowDialog() == DialogResult.OK)

  • { s = ofd.FileName;

  • label1.Text=s;

  • richTextBox1.LoadFile(s);

  • }

  • else

  • {

  • MessageBox.Show("Loading stopped", “Stop",

  • MessageBoxButtons.OK, MessageBoxIcon.Stop);

  • }

  • }



Бібліотека GDI+.

  • Бібліотека GDI+.

  • Ключовий клас – System.Drawing.Graphics. Зокрема, для малювання потрібно отримати об’єкт цього класу.

  • Малювання слід здійснювати в методі OnPaint(PaintEventArgs e) – інакше малюнок буде затиратися і не буде перемальовуватися; зокрема при зміні розмірів вікна.

  • Для примусового перемалювання компонента слід викликати метод Invalidate().



private void Form1_MouseClick(object sender, MouseEventArgs e)

  • private void Form1_MouseClick(object sender, MouseEventArgs e)

  • {

  • Graphics g = this.CreateGraphics();

  • int cr = r.Next(255);

  • int cg = r.Next(255);

  • int cb = r.Next(255);

  • Pen p = new Pen(Color.FromArgb(cr,cg,cb),10);

  • g.DrawEllipse(p, e.X, e.Y, 50, 50);

  • }



protected override void OnPaint(PaintEventArgs e)

  • protected override void OnPaint(PaintEventArgs e)

  • {

  • base.OnPaint(e);

  • Graphics g = e.Graphics;

  • if (lst.Count > 2) {

  • Pen p = new Pen(Color.Firebrick, 4);

  • g.DrawPolygon(p, lst.ToArray());

  • }

  • }

  • private void Form1_MouseDown(object sender, MouseEventArgs e)

  • {

  • lst.Add(e.Location);

  • Invalidate();

  • }



Image im = new Bitmap(file);

  • Image im = new Bitmap(file);

  • Graphics g = Graphics.FromImage(im);

  • //Малювання

  • g.DrawEllipse(new Pen(Color.Red, 20), 100, 100, 50, 50);

  • Font fnt = new Font("Times New Roman",12,FontStyle.Italic);

  • Brush brsh = Brushes.Chocolate;

  • g.DrawString("The image", fnt, brsh,110,10);



pictureBox1.Image = im;

  • pictureBox1.Image = im;



im.Save(@"C:\samples\images\im.jpg");

  • im.Save(@"C:\samples\images\im.jpg");



В принципі, звичайні форми.

  • В принципі, звичайні форми.

  • Методи Show та ShowDialog.

  • Важливо – встановлення властивості DialogResult для кнопок дочірньої форми.



Приклад відкриття діалогового вікна

  • Form2 frm = new Form2();

  • frm.ShowDialog();

  • if (frm.DialogResult == DialogResult.OK) { label1.Text = "Entered text is "+frm.res; }

  • else { label1.Text = "Cancelled"; } frm.Close();



Встановити для майбутнього контейнера значення властивості IsMdiContainer в true.

  • Встановити для майбутнього контейнера значення властивості IsMdiContainer в true.

  • Для кожної дочірньої форми здійснити:

  • childForm.mdiParent=this;

  • childForm.Show();



Можуть створюватися різними способами. Зокрема, вони можуть просто наслідувати від існуючих елементів управління або ж від Control.

  • Можуть створюватися різними способами. Зокрема, вони можуть просто наслідувати від існуючих елементів управління або ж від Control.

  • Т.зв. користувацькі елементи управління розширюють клас UserControl. Для них слід визначити властивості, методи і події.



Компонент, похідний від TextBox. Якщо його властивість ReadOnly встановлюється в true, він зафарбовується червоним кольором.

  • Компонент, похідний від TextBox. Якщо його властивість ReadOnly встановлюється в true, він зафарбовується червоним кольором.





public class myControl:TextBox

  • public class myControl:TextBox

  • {

  • public new bool ReadOnly {

  • get { return base.ReadOnly; }

  • set {

  • if (value) this.BackColor = Color.Red;

  • else this.BackColor = Color.FromKnownColor(KnownColor.Window);

  • base.ReadOnly = value;

  • } }



Результатом компіляції є dll-бібліотека.

  • Результатом компіляції є dll-бібліотека.

  • При створенні нового проекту ця бібліотека повинна бути підключена.



Створення відповідного проекту.

  • Створення відповідного проекту.

  • Демонстрація XAML та динамічної зміни відповідного опису.



http://silverlight.net/Showcase/

  • http://silverlight.net/Showcase/





Схожі:

Бібліотека Windows. Forms. Бібліотека Windows. Forms icon“windows” Гурток “windows” Гурток “windows” розпочав свою роботу з 01 листопада 2012 року
Гурток працює за програмою науково-технічного напрямку, рекомендованого Міністерством освіти і науки, молоді та спорту України
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconThe Seasons of the Year Done by the group of the pupils of the 4-5th forms

Бібліотека Windows. Forms. Бібліотека Windows. Forms iconІнформації в операційних системах, базах даних І мережах Лекції 7-8 Windows Вертикальна декомпозиція архітектури ос windows Компоненти кзз windows (1/5) Довідковий монітор безпеки
Компонент системи (\winnt\System32\Ntoskrnl exe), що виконується в режимі ядра І відповідає за перевірку прав доступу до об’єктів,...
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconПовторення Що таке мультимедіа?
Програма для створення й редагування аматорських фільмів, що входить до складу операційних систем Microsoft Windows, зокрема до Windows...
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconНаціональна Парламентська бібліотека України Національна Парламентська бібліотека України
...
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconІнтерфейс Windows xp є графічним. Інтерфейс Windows xp є графічним
Усі об'єкти ос (програми, файли, документи, пристрої тощо) зображуються значками
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconНавчальний елемент Будова екрану програми Windows'95
Операційна система Windows’95, вивчення якої Ви починаєте, є комплексом програм, який значно полегшує управлiння комп’ютером, пристроями,...
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconЗнайомтеся це гід нашої подорожі
Бібліотека море книг, Бібліотека храм науки Переступайте наш поріг, Беріть скарби нетлінні в руки!
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconКзк “цспб” Центральна міська публічна бібліотека ім. М. Горького Громадські обговорення 2012 “Бібліотека І громада: орієнтири на майбутнє” Згідно з Програмою уба з адвокації «Через бібліотеки до знань!»
«Бібліотека – центр громади». Зібраний фактичний матеріал і документи, прийняті за результатами обговорень, стануть основою для винесення...
Бібліотека Windows. Forms. Бібліотека Windows. Forms iconНаціональна бібліотека великобританії. Одна з найбільших бібліотек світу, число одиниць зберігання якої перевищує 150 мільйонів
Розташована у веймарі, більше відома як «бібліотека гете»: з 1797 по 1832 рік поет був її постійним відвідувачем. Бібліотека славиться...

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка