МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра захисту інформації
ЗВІТ
до лабораторної роботи №5
з курсу:
«Алгоритмічні мови та програмування»
на тему:
«Робота з графічним інтерфейсом»
Варіант №1
Виконав: ст. гр. ЗІ-12
Прийняв:
Львів - 2010
МЕТА РОБОТИ
Навчитися створювати програми з графічним інтерфейсом. Вивчити бібліотеки Windows Forms.
ЗАВДАННЯ
Написати довільну програму з графічним інтерфейсом, у якій реалізовані кнопки, меню, деякі прості функції.
БЛОК-СХЕМА
Метод SaveMyFile()
Метод LoadMyFile()
Метод Main()
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
richTextBox1 - об’єкт класу RichTextBox;
System.Windows.Forms.DockStyle.Fill – задає позицію і спосіб закріплення елемента;
System.Windows.Forms.ToolStripItem[] – базовий клас, який управляє подіями і структурою усіх елементів, які можуть розміщатись у System.Windows.Forms.ToolStrip;
*ToolStripMenuItem.DropDownItems.AddRange() – додає у колекцію масив елементів управління System.Windows.Forms.ToolStrip;
*ToolStripMenuItem.Name – отримує або задає ім’я елемента;
*ToolStripMenuItem.Size – отримує або задає розмір елемента;
*ToolStripMenuItem.Name – отримує або задає ім’я елемента;
*ToolStripMenuItem.Click – виконується при натисканні на об’єкт System.Windows.Forms.ToolStripItem;
ClientSize – задає розмір клієнтської області форми;
Controls.Add – отримує колекцію елементів управління, які є в елементі управління;
MainMenuStrip – задає основний контейнер меню для форми;
ResumeLayout – відновлює нормальну логіку макета, додатково виконуючи негайне відображення запитів макета;
ResumeLayout – викликає в елементі управління виконання логіки макета до всіх його успадкованим елементам управління;
RichTextBoxStreamType – вказує типи потоків введення-виведення, які використовуються для завантаження і збереження даних в елементі управління System.Windows.Forms.RichTextBox;
saveFile1 – об’єкт класу SaveFileDialog;
openFile1 – об‘єкт класу OpenFileDialog;
EnableVisualStyles() – увімкнення візуальних стилів для програми;
SetCompatibleTextRenderingDefault – задає значення за замовчуванням у свій програмі для властивості System.Windows.Forms.ButtonBase.UseCompatibleTextRendering, визначеного у конкретних елементах управління;
Run – запускає стандартний цикл опрацювання повідомлень програми у поточному потоці і робить вказану форму видимою;
menuStrip1 - об’єкт класу MenuStrip;
toolStripSeparator – об’єкт класу ToolStripSeparator;
*ToolStripMenuItem - об’єкти класу ToolStripMenuItem;
Main() – головний метод;
InitializeComponent() – метод визначення змінних;
ТЕКСТ ПРОГРАМИ
Program.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SimpleModalDialog
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new MainWindow());
}
}
}
MainWindow.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace SimpleModalDialog
{
public partial class MainWindow : Form
{
private string userMessage = "Default Message";
private bool textIsItalic = false;
public MainWindow()
{
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void configureToolStripMenuItem_Click(object sender, EventArgs e)
{
// Create an instance of UserMessageDialog.
ItalicUserMessageDialog dlg = new ItalicUserMessageDialog();
// Place the current message in the TextBox.
dlg.Message = userMessage;
dlg.Italic = textIsItalic;
// If user clicked OK button, render their message.
if (DialogResult.OK == dlg.ShowDialog())
{
userMessage = dlg.Message;
textIsItalic = dlg.Italic;
Invalidate();
}
// Have dialog clean up internal widgets now, rather
// then when the GC destroys the object.
dlg.Dispose();
}
private void MainWindow_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Font f = null;
if(textIsItalic)
f = new Font("Times New Roman", 24, FontStyle.Italic);
else
f = new Font("Times New Roman", 24);
g.DrawString(userMessage, f, Brushes.DarkBlue,
50, 50);
}
}
}
MainWindow.Designer.cs
namespace SimpleModalDialog
{
partial class MainWindow
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.configureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.toolsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(390, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Text = "&File";
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// toolsToolStripMenuItem
//
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.configureToolStripMenuItem});
this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
this.toolsToolStripMenuItem.Text = "&Tools";
//
// configureToolStripMenuItem
//
this.configureToolStripMenuItem.Name = "configureToolStripMenuItem";
this.configureToolStripMenuItem.Text = "&Configure";
this.configureToolStripMenuItem.Click += new System.EventHandler(this.configureToolStripMenuItem_Click);
//
// MainWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(390, 182);
this.Controls.Add(this.menuStrip1);
this.MainMenuStrip = this.menuStrip1;
this.Name = "MainWindow";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Enter your Message and I will paint it...";
this.Paint += new System.Windows.Forms.PaintEventHandler(this.MainWindow_Paint);
this.menuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem configureToolStripMenuItem;
}
}
РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ
ВИСНОВОК
Після виконання лабораторної роботи я навчився обробляти події, створювати програми з графічним інтерфейсом. Вивчив можливості бібліотек Windows Forms. За допомогою середовища розробки Visual Studio можна створювати додатки Windows Forms, які відображають інформацію, опрацьовують введену інформацію користувачами, і обмінюються даними з віддаленими комп’ютерами по мережі.