Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы 1 и 2 на С#.docx
Скачиваний:
165
Добавлен:
11.04.2015
Размер:
253.02 Кб
Скачать

Чтобы реализовать в форме "frmCalculations" интерфейс пользователя, выполните следующие действия.

  1. Откройте форму frmCalculations в Редакторе кода.

  2. Найдите оператор public partial class frmCalculations. Непосредственно после знака { введите:

Calculator Calculator1;

  1. Найдите конструктор. Непосредственно перед знаком } добавьте следующую строку.

// Creates a new instance of Calculator.

Calculator1 = new Calculator();

  1. В окне конструктора нажмите поочередно каждую кнопку, чтобы создать структуру кода для обработчика события Click для этой кнопки и добавить код обработчика.

В результате обработчики событий Click должны выглядеть следующим образом.

// Passes the value typed in the txtValue to Calculator.varFact1.

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

{

Calculator1.varFact1 = int.Parse(txtValue.Text);

// Disables the btnFactorial1 until this calculation is complete.

btnFactorial1.Enabled = false;

Calculator1.Factorial();

}

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

{

Calculator1.varFact2 = int.Parse(txtValue.Text);

btnFactorial2.Enabled = false;

Calculator1.FactorialMinusOne();

}

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

{

Calculator1.varAddTwo = int.Parse(txtValue.Text);

btnAddTwo.Enabled = false;

Calculator1.AddTwo();

}

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

{

Calculator1.varLoopValue = int.Parse(txtValue.Text);

btnRunLoops.Enabled = false;

// Lets the user know that a loop is running

lblRunLoops.Text = "Looping";

Calculator1.RunALoop();

}

  1. После кода, добавленного на предыдущем шаге, введите указанный ниже код для обработки событий, которые форма будет получать из компонента Calculator1.

private void FactorialHandler(double Value, double Calculations)

// Displays the returned value in the appropriate label.

{

lblFactorial1.Text = Value.ToString();

// Re-enables the button so it can be used again.

btnFactorial1.Enabled = true;

// Updates the label that displays the total calculations performed

lblTotalCalculations.Text = "TotalCalculations are " +

Calculations.ToString();

}

private void FactorialMinusHandler(double Value, double Calculations)

{

lblFactorial2.Text = Value.ToString();

btnFactorial2.Enabled = true;

lblTotalCalculations.Text = "TotalCalculations are " +

Calculations.ToString();

}

private void AddTwoHandler(int Value, double Calculations)

{

lblAddTwo.Text = Value.ToString();

btnAddTwo.Enabled = true;

lblTotalCalculations.Text = "TotalCalculations are " +

Calculations.ToString();

}

private void LoopDoneHandler(double Calculations, int Count)

{

btnRunLoops.Enabled = true;

lblRunLoops.Text = Count.ToString();

lblTotalCalculations.Text = "TotalCalculations are " +

Calculations.ToString();

}

  1. В окне конструктора формы frmCalculations непосредственно перед знаком } добавьте следующий код для обработки пользовательских событий, которые форма будет получать из компонента Calculator1.

Calculator1.FactorialComplete += new

Calculator.FactorialCompleteHandler(this.FactorialHandler);

Calculator1.FactorialMinusOneComplete += new

Calculator.FactorialCompleteHandler(this.FactorialMinusHandler);

Calculator1.AddTwoComplete += new

Calculator.AddTwoCompleteHandler(this.AddTwoHandler);

Calculator1.LoopComplete += new

Calculator.LoopCompleteHandler(this.LoopDoneHandler);

Проверка работы приложения

На этом этапе создан проект, который содержит форму и компонент, предназначенный для выполнения некоторых сложных вычислений. Несмотря на то что многопоточность еще не реализована, сейчас следует проверить работоспособность проекта.