Часть 1
66
// задать раздел справки
// для textBox3 - Ставка дисконтирования
helpProvider1.SetHelpKeyword(textBox3,
"npv_04.htm");
helpProvider1.SetHelpNavigator(textBox3,
HelpNavigator.Topic);
helpProvider1.SetShowHelp(textBox3, true);
}
// щелчок на кнопке Справка
private void button2_Click(object sender, EventArgs e)
{
Help.ShowHelp(this, helpProvider1.HelpNamespace,
"npv_01.htm");
}
// щелчок на кнопке Расчет
private void button1_Click(object sender, EventArgs e)
{
double p = 0; // поступления от продаж
double r = 0; // расходы
double d = 0; // ставка дисконтирования
double npv = 0; // чистый дисконтированный доход
try
{
p = Convert.ToDouble(textBox1.Text);
r = Convert.ToDouble(textBox2.Text);
d = Convert.ToDouble(textBox3.Text) / 100;
npv = (p - r) / (1.0 + d);
label4.Text =
"Чистый дисконтированный доход (NPV) = " +
npv.ToString("c");
}
Примеры и задачи
67
catch
{
}
}
}
}
Файлы
В этом разделе приведены программы, демонстрирующие вы-
полнение операций с файлами.
Курс
Программа Курс (рис. 1.15, листинг 1.14) добавляет в базу данных,
представляющую собой текстовый файл, информацию о текущем
курсе доллара. Если файла данных в каталоге приложения нет,
программа его создаст. Кнопка Добавить становится доступной
после того, как пользователь введет данные в поле редактирова-
ния. Для ввода даты используется компонент
DateTimePicker
.
Рис. 1.15. Форма программы Курс
Часть 1
68
Листинг 1.14. Модуль формы программы Курс
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Enabled = false;
}
// нажатие клавиши в поле редактирования
private void textBox1_KeyPress(object sender,
KeyPressEventArgs e)
{
if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
return;
if (e.KeyChar == '.')
e.KeyChar = ',';
if (e.KeyChar == ',')
Примеры и задачи
69
{
// в поле редактирования не может
// быть больше одной запятой и запятая
// не может быть первым символом
if ((textBox1.Text.IndexOf(',') != -1) ||
(textBox1.Text.Length == 0))
{
e.Handled = true;
}
return;
}
if (Char.IsControl(e.KeyChar))
{
// , ,
if (e.KeyChar == (char)Keys.Enter)
// установить курсор на кнопку OK
button1.Focus();
return;
}
// остальные символы запрещены
e.Handled = true;
}
// изменилось содержимое поля редактирования
private void textBox1_TextChanged(object sender,
EventArgs e)
{
if (textBox1.Text.Length == 0)
button1.Enabled = false;
else
button1.Enabled = true;
}
Do'stlaringiz bilan baham: |