slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Высокоуровневые методы информатики и программирования Лекция 2 5 PowerPoint Presentation
Download Presentation
Высокоуровневые методы информатики и программирования Лекция 2 5

Loading in 2 Seconds...

play fullscreen
1 / 20

Высокоуровневые методы информатики и программирования Лекция 2 5 - PowerPoint PPT Presentation


  • 190 Views
  • Uploaded on

Высокоуровневые методы информатики и программирования Лекция 2 5 Работа с диалогами. План работы. Понятие диалога Простой диалог – MessageBox ; Встроенные диалоги; Собственные диалоги. Однодокументные и многодокументные интерфейсы. Программа включает :. основную форму программы

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Высокоуровневые методы информатики и программирования Лекция 2 5' - chung


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Высокоуровневые методы информатики и программированияЛекция 25Работа с диалогами

slide2
План работы
  • Понятие диалога
  • Простой диалог – MessageBox;
  • Встроенные диалоги;
  • Собственные диалоги.
  • Однодокументные и многодокументные интерфейсы.
slide3
Программа включает:
  • основную форму программы
  • дочерние окна отображения (MDI)
  • диалоговые окна – объекты класса Form, которые создаются и показываются при выборе пунктов меню (или элемента ToolStrip)
    • для получения данных от пользователя
dialogresult
Перечисление - DialogResult
  • Вызов диалога frm.ShowDialog
  • 2. Диалог возвращает значение перечисления DialogResult: Yes, No, Cancel, Retry, Abort, Ignore, None

if(openFileDialog1.ShowDialog() == DialogResult.OK)

{

if((myStream = openFileDialog1.OpenFile())!= null)

{

// Insert code to read the stream here.

myStream.Close();

}

}

slide5
Типы диалоговых окон
  • По способу создания
    • Библиотечные диалоги
      • Класс MessageBox
      • Общие диалоги (Common Dialogs)
    • Собственные диалоги
  • По способу работы
    • модальные – блокируют работу других окон
    • немодальные – позволяют работать с другими окнами
slide6
Показ и закрытие формы

Методы показа формы

  • В немодальном режиме - Show()
  • В модальном режиме - ShowDialog()

Методы закрытие формы

  • Сохранение в памяти - Hide()
  • Удаление из памяти - Close()
system windows forms messagebox show
Простой диалог System.Windows.Forms.MessageBox.Show
  • Статический класс
  • Один метод Show – 12 вариантов
  • Основной метод – Show()
  • MessageBoxButtons – комбинации кнопок на форме:

Ok, OkCancel, RetryCancel, Yes, No, YesNoCancel, AbortRetryIgnore

messagebox
Пример вызова диалога MessageBox

MessageBox.Show("OK to Close", "Game Status", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2 );

system windows forms
Классы встроенных диалоговSystem.Windows.Forms
  • OpenFileDialog – диалог открытия файла
  • SaveFileDialog– диалог для сохранения файла
  • PrintDialog– диалог вывода на печать
  • PrintPreviewDialog– диалог предварительный просмотр результата печати
  • ColorDialog – диалог выбора цвета
  • FontDialog – диалог выбора шрифта
  • FolderBrowserDialog – диалог работы с каталогами
openfiledialog
Свойства встроенного диалогаOpenFileDialog
  • Title – заголовок диалога
  • Filter – “описание1| фильтр1| описание2| фильтр2”

Например: "txt files (*.txt) | *.txt | All files (*.*) | *.*"

  • FilterIndex – фильтр по умолчанию
  • InitialDirectory – начальная папка для ввода
  • AddExtension – добавлять расширение по умолчанию?
  • DefaultExtension – расширение по умолчанию
  • FileName (FileNames) – имя выбранного файла
  • ValidateNames – проверять автоматически существование файла?
  • CheckFileExist
  • CheckPathExist
slide12
openFileDialog1.InitialDirectory = “c:\”;

openFileDialog1.Filter =

“txt files (*.txt) | *.txt | All files (*.*) | *.*”;

openFileDialog1.FilterIndex = 2;

openFileDialog1.RestoreDirectory = true;

openfile
Пример вызова диалога OpenFile

string str;

…..

if(openFileDialog1.ShowDialog() == DialogResult.OK)

{

StreamReader myStream;

myStream = File.OpenText(openFileDialog1.FileName);

if (myStream != null)

{

// Здесь вставляется код для чтения данных

str = myStream.ReadLine();

myStream.Close();

}

}

slide14
Пример вызова общего диалога

private void myClick(object sender, System.EventArgs e)

{

OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.Filter ="txt files (*.txt) | *.txt | All files (*.*) | *.*";

openFileDialog1.FilterIndex = 1;

openFileDialog1.AddExtension = true;

openFileDialog1.Title = "My Open Dialog";

openFileDialog1.ValidateNames = true;

DialogResult rc = openFileDialog1.ShowDialog();

if(rc == DialogResult.OK)

{

string s = openFileDialog1.FileName;

}

}

slide16
Создание собственного диалога
  • Добавить форму
  • Разместить элементы управления
  • Назначить в обработчиках событий кнопок значение свойства DialogResult
  • По заданному событию в основной форме создать экземпляр диалога
  • Вызвать на выполнение метод ShowDialog
  • Проанализировать результат
  • Сохранить полученные значения
dialogform
Класс DialogForm

public partial class DialogForm : Form

{

public int x;

public int y;

public DialogForm()

{

InitializeComponent();

}

private void DialogForm_Load(object sender,

EventArgs e)

{

textBox1.Text = x.ToString();

textBox2.Text = y.ToString();

}

}

private void button1_Click(object sender,

EventArgs e)

{

x = Convert.ToInt32(textBox1.Text);

y = Convert.ToInt32(textBox2.Text);

this.DialogResult = DialogResult.OK;

}

private void button2_Click(object sender,

EventArgs e)

{

this.DialogResult = DialogResult.Cancel;

}

slide18
Использование собственного диалога

privatevoidmyClick(objectsender, System.EventArgse)

{

int X = 5, Y = 10;

DialogFormdlg = new DialogForm();

dlg.x = X; dlg.y = Y;

DialogResultrc = dlg.ShowDialog();

if (rc == DialogResult.OK)

{

X = dlg.x; Y = dlg.y;

MessageBox.Show("X = "+X.ToString()+";Y="+Y.ToString(),

"Результат работы диалога”,MessageBoxButtons.YesNo,

MessageBoxIcon.Question,

MessageBoxDefaultButton.Button1);

}

}

slide19
Сообщение о коде завершения диалога

private void buttonOK_Click(object sender, System.EventArgs e)

{

this.DialogResult = DialogResult.OK;

}

private void buttonCancel_Click(object sender, System.EventArgs e)

{

this.DialogResult = DialogResult.Cancel;

}

slide20
AcceptButton = buttonOK; //Button to receive default focus

CancelButton = buttonCancel; //Fires when Esc pushed