2.4.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
button1.Click += button1_Click;
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (openFileDialog1.FilterIndex == 1)
{
pictureBox1.Load(openFileDialog1.FileName);
}
else
if (openFileDialog1.FilterIndex == 2)
{
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
else
if (openFileDialog1.FilterIndex == 3)
{
webBrowser1.Navigate(openFileDialog1.FileName);
}
}
}
}
}
2.4.2 Контрольный пример
2.5 Постановка задачи№5.
Цель:Создать любую базу на Access
2.5.1Листинг программы
string connStr = "server=localhost;user=root;password=123456;database=translate";
MySqlConnection coon = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "SELECT eng FROM home";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
coon.Close();
2.5.2 Контрольный пример
2.6 Постановка Задачи №6
Цель: Выдать дату в формате по этому формату выводится только год
2.6.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Обработка события загрузки формы:
this.Text = "Средство выбора даты";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy";
button1.Text = "Выбрать дату:";
label1.Text = String.Format(
"Сегодня: {0}", dateTimePicker1.Text);
}
private void dateTimePicker1_ValueChanged(
object sender, EventArgs e)
{
// Обработка события изменения даты:
label1.Text = String.Format(
"Выбранная дата: {0}", dateTimePicker1.Text);
}
private void Button1_Click(object sender, EventArgs e)
{
// Обработка события "щелчок на кнопке":
// Передаем фокус на элемент управления dateTimePicker1:
dateTimePicker1.Focus();
// Имитируем нажатие клавиши <F4>:
SendKeys.Send("{F4}");
}
}
}
2.6.2Контрольный пример
2.7 Постановка Задачи №7
Цель: Написать программу для ввода имени пользователя и пароля с последующим вызовом второй формы(2-форма-задание 1 День первый)
|
2.7.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Обработка события загрузки формы:
this.Text = "Введи пароль";
textBox1.Text = null; textBox1.TabIndex = 0;
textBox1.PasswordChar = '*';
textBox1.Font = new Font("Courier New", 10.0F);
label1.Text = String.Empty;
label1.Font = new Font("Courier New", 10.0F);
}
private void button2_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
}
2.7.2Контрольный пример
2.8 Постановка Задачи №8
Цель: Поменять текст, цвет, размер. У каждого свой индивидуальный. Добавить еще одну вкладку программно, в которой определить «шрифт»
2.8.1 Листинг программы
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Вкладки
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
tabPage3.Controls.Add(this.radioButton5);
tabPage3.Controls.Add(this.radioButton6);
this.radioButton5.Location = new Point(20, 15);
this.radioButton6.Location = new Point(20, 58);
this.Text = "Какая бутылка рома вам ближе";
tabControl1.TabPages[0].Text = "Текст";
tabControl1.TabPages[1].Text = "Цвет";
tabControl1.TabPages[2].Text = "Размер";
tabControl1.TabPages[3].Text = "Шрифт";
radioButton1.Text =
"Восхищенная, сочувственная, " + "\n" + "скромно-смущенная";
radioButton2.Text = "Нежная улыбка, ехидная, бес" +
"стыжая, " + "\n" + "подленькая, снисходительная";
radioButton3.Text = "Желтый";
radioButton4.Text = "Синий";
radioButton5.Text = "11 пунктов";
radioButton6.Text = "13 пунктов";
radioButton7.Text = "Times New Roman";
radioButton8.Text = "Verdana";
label1.Text = radioButton1.Text;
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
label1.Text = radioButton1.Text;
}
|
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
label1.Text = radioButton2.Text;
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
label1.ForeColor = Color.Yellow;
}
private void radioButton4_CheckedChanged(object sender, EventArgs e)
{
label1.ForeColor = Color.Blue;
}
private void radioButton5_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font(label1.Font.Name, 11);
}
private void radioButton6_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font(label1.Font.Name, 13);
}
private void radioButton7_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font("Verdana", 15);
}
private void radioButton8_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font("Arial", 14);
}
}
}
2.8.1 Контрольный пример
2.9 Постановка Задачи №9
Цель: Тестирование по Олимпийским играм
2.9.1 Листинг программы
using System;
using System.Windows.Forms;
namespace Тестирование
{
public partial class Form1: Form
{
int СчетВопросов;
int ПравилОтветов;
int НеПравилОтветов;
String[] НеПравилОтветы;
int НомерПравОтвета;
int ВыбранОтвет;
System.IO.StreamReader Читатель;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Text = "Следующий вопрос";
button2.Text = "Выход";
radioButton1.CheckedChanged += new EventHandler(ИзмСостПерекл);
radioButton2.CheckedChanged += new EventHandler(ИзмСостПерекл);
radioButton3.CheckedChanged += new EventHandler(ИзмСостПерекл);
НачалоТеста();
}
void НачалоТеста()
{
var Кодировка = System.Text.Encoding.GetEncoding(1251);
try
{
Читатель = new System.IO.StreamReader(
System.IO.Directory.GetCurrentDirectory() +
@"\test.txt", Кодировка);
this.Text = Читатель.ReadLine();
СчетВопросов = 0; ПравилОтветов = 0; НеПравилОтветов = 0;
НеПравилОтветы = new String[100];
}
catch (Exception Ситуация)
{
MessageBox.Show(Ситуация.Message, "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
ЧитатьСледВопрос();
}
void ЧитатьСледВопрос()
{
label1.Text = Читатель.ReadLine();
radioButton1.Text = Читатель.ReadLine();
radioButton2.Text = Читатель.ReadLine();
|
radioButton3.Text = Читатель.ReadLine();
НомерПравОтвета = int.Parse(Читатель.ReadLine());
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
button1.Enabled = false;
СчетВопросов = СчетВопросов + 1;
if (Читатель.EndOfStream == true) button1.Text = "Завершить";
}
void ИзмСостПерекл(Object sender, EventArgs e)
{
button1.Enabled = true; button1.Focus();
RadioButton Переключатель = (RadioButton)sender;
var tmp = Переключатель.Name;
ВыбранОтвет = int.Parse(tmp.Substring(11));
}
private void button1_Click(object sender, EventArgs e)
{
if (ВыбранОтвет == НомерПравОтвета) ПравилОтветов =
ПравилОтветов + 1;
if (ВыбранОтвет!= НомерПравОтвета)
{
НеПравилОтветов = НеПравилОтветов + 1;
НеПравилОтветы[НеПравилОтветов] = label1.Text;
}
if (button1.Text == "Начать тестирование сначала")
{
button1.Text = "Следующий вопрос";
radioButton1.Visible = true;
radioButton2.Visible = true;
radioButton3.Visible = true;
НачалоТеста(); return;
}
if (button1.Text == "Завершить")
{
Читатель.Close();
radioButton1.Visible = false;
radioButton2.Visible = false;
radioButton3.Visible = false;
label1.Text = String.Format("Тестирование завершено.\n" +
"Правильных ответов: {0} из {1}.\n" +
"Оценка в пятибальной системе: {2:F2}.", ПравилОтветов,
СчетВопросов, (ПравилОтветов * 5.0F) / СчетВопросов);
button1.Text = "Начать тестирование сначала";
var Str = "СПИСОК ВОПРОСОВ, НА КОТОРЫЕ ВЫДАЛИ " +
"НЕПРАВИЛЬНЫЙ ОТВЕТ:\n\n";
for (int i = 1; i <= НеПравилОтветов; i++)
Str = Str + НеПравилОтветы[i] + "\n";
if (НеПравилОтветов!= 0) MessageBox.Show(
Str, "Тестирование завершено");
}
if (button1.Text == "Следующий вопрос") ЧитатьСледВопрос();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
2.9.2 Контрольный пример
2.10 Постановка Задачи №10
Цель: Создать Panel и 2 CheckBox “программно”
2.10.1Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var Панель = new Panel();
Панель.Visible = true;
Панель.Size = new Size(150, 30);
Панель.Location = new Point(70, 80);
this.Controls.Add(Панель);
var CheckBox = new CheckBox();
CheckBox.Visible = true;
CheckBox.Size = new Size(150, 30);
CheckBox.Location = new Point(70, 80);
}
}
}
2.10.2 Контрольный пример
2.11 Постановка Задачи №11
Цель: Сделать ссылку на фотогалерею по искусству, ссылка на пазлы(пример: https://gallerix.ru/pazly/), ссылка на готовую энциклопедию.
2.11.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Обработка процедуры загрузки формы:
this.Text = "Щелкните на ссылке:";
linkLabel1.Text = "www.twitch.tv";
linkLabel2.Text = @"Папка C:\Program Files\";
linkLabel3.Text = "Вызвать \"Блокнот\"";
this.Font = new Font("Consolas", 12.0F);
linkLabel1.LinkVisited = true;
linkLabel2.LinkVisited = true;
linkLabel3.LinkVisited = true;
// Подписка на события: все три события обрабатываются
// одной процедурой:
linkLabel1.LinkClicked += new System.Windows.Forms.
LinkLabelLinkClickedEventHandler(this.ССЫЛКА);
linkLabel2.LinkClicked += new System.Windows.Forms.
LinkLabelLinkClickedEventHandler(this.ССЫЛКА);
linkLabel3.LinkClicked += new System.Windows.Forms.
LinkLabelLinkClickedEventHandler(this.ССЫЛКА);
}
private void ССЫЛКА(object sender, LinkLabelLinkClickedEventArgs e)
{
// Обработка щелчка на любой из ссылок:
var ссылка = (LinkLabel)sender;
// Выбор ссылки:
switch (ссылка.Name)
{
case "linkLabel1": // интернет-ресурс
System.Diagnostics.Process.Start(
"IExplore.exe", "https://www.twitch.tv");
break;
case "linkLabel2": // папка файловой системы
System.Diagnostics.Process.Start(
"C:\\Program Files\\");
break;
case "linkLabel3": // редактор Блокнот
System.Diagnostics.Process.Start(
"Notepad", "text.txt");
break;
}
}
}
}
2.11.2 Контрольный пример
2.12 Постановка Задачи №12
Цель: На карте Алматы показать достопримечательности (культурные, исторические, торговые и т.п.) и дать описание.
2.12.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
}
public partial class Form2: Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri("C:\\park.html"));
}
}
}
2.12.2 Контрольный пример
2.13 Постановка Задачи №2.13
Цель: Поиск в текстовом файле
2.13.1 Листинг программы
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
richTextBox1.Find(textBox1.Text);
for (int i = 0; i < richTextBox1.Text.Count(); i++)
{
if (richTextBox1.Text == textBox1.Text)
{
richTextBox1.SelectionStart = i;
richTextBox1.SelectionLength = textBox1.Text.Count();
richTextBox1.SelectionColor = Color.Black;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
}
2.13.2 Контрольный пример
2.14 Постановка Задачи №14
Цель: Возрастающий График
2.14.1Листинг программы
public partial class Form1: Form
{
String[] Months;
int[] Sales;
Graphics Графика;
Bitmap Растр;
int ОтступСлева, ОтступСправа, ОтступСнизу, ОтступСверху;
int ДлинаВертОси, ДлинаГоризОси, YГоризОси, Xmax, XНачЭпюры;
Double ГоризШаг;
int ВертШаг;
int i;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Months = new String[] {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"};
Sales = new int[] {335, 414, 572, 629, 750, 931,
753, 599, 422, 301, 245, 155};
ОтступСлева = 35; ОтступСправа = 15;
ОтступСнизу = 20; ОтступСверху = 10;
this.Text = " Построение графика ";
button1.Text = "Нарисовать график";
this.ClientSize = new Size(593, 319);
pictureBox1.Size = new Size(569, 242);
Растр = new Bitmap(pictureBox1.Width, pictureBox1.Height, pictureBox1.CreateGraphics());
YГоризОси = pictureBox1.Height - ОтступСнизу;
Xmax = pictureBox1.Width - ОтступСправа;
ДлинаГоризОси = pictureBox1.Width -
(ОтступСлева + ОтступСправа);
ДлинаВертОси = YГоризОси - ОтступСверху;
ГоризШаг = Convert.ToDouble(ДлинаГоризОси / Sales.Length);
ВертШаг = Convert.ToInt32(ДлинаВертОси / 10);
XНачЭпюры = ОтступСлева + 30;
}
private void button1_Click(object sender, EventArgs e)
{
Графика = Graphics.FromImage(Растр);
РисуемОси();
РисуемГоризЛинии();
РисуемВертЛинии();
РисованиеЭпюры();
pictureBox1.Image = Растр;
// Освобождаем ресурсы, используемые объектом класса Graphics:
Графика.Dispose();
}
void РисуемОси()
{
var Перо = new Pen(Color.Black, 2);
// Рисование вертикальной оси координат:
Графика.DrawLine(Перо, ОтступСлева, YГоризОси,
ОтступСлева, ОтступСверху);
// Рисование горизонтальной оси координат:
Графика.DrawLine(Перо, ОтступСлева, YГоризОси,
Xmax, YГоризОси);
var Шрифт = new Font("Arial", 8);
for (this.i = 1; i <= 10; i++)
{
// Рисуем "усики" на вертикальной координатной оси:
int Y = YГоризОси - i * ВертШаг;
Графика.DrawLine(Перо, ОтступСлева - 4, Y, ОтступСлева, Y);
// Подписываем значения продаж через каждые 100 единиц:
Графика.DrawString((i * 100).ToString(), Шрифт,
Brushes.Black, 0, Y - 5);
} // конец цикла по i
// Подписываем месяцы на горизонтальной оси:
for (this.i = 0; i <= Months.Length - 1; i++)
{
Графика.DrawString(Months[i], Шрифт, Brushes.Black,
(int)(ОтступСлева + 18 + i * ГоризШаг), (YГоризОси + 4));
}
}
void РисуемГоризЛинии()
{
var ТонкоеПеро = new Pen(Color.LightGray, 1);
for (this.i = 1; i <= 10; i++)
{
// Рисуем горизонтальные почти "прозрачные" линии:
int Y = YГоризОси - ВертШаг * i;
Графика.DrawLine(ТонкоеПеро, ОтступСлева + 3, Y, Xmax, Y);
}
ТонкоеПеро.Dispose();
}
void РисуемВертЛинии()
{
// Рисуем вертикальные почти "прозрачные" линии
var ТонкоеПеро = new Pen(Color.Bisque, 1);
for (this.i = 0; i <= Months.Length - 1; i++)
{
int X = XНачЭпюры + Convert.ToInt32(ГоризШаг * i);
Графика.DrawLine(ТонкоеПеро, X, ОтступСверху, X, YГоризОси - 4);
}
ТонкоеПеро.Dispose();
}
void РисованиеЭпюры()
{
var ВертМасштаб = Convert.ToDouble(ДлинаВертОси / 1000.0);
// или var ВертМасштаб = (Double)ДлинаВертОси / 1000.0;
// Значения ординат на экране:
var Y = new int[Sales.Length];
// Значения абсцисс на экране:
var X = new int[Sales.Length];
for (this.i = 0; i <= Sales.Length - 1; i++)
{ // Вычисляем графические координаты точек:
Y[i] = YГоризОси - Convert.ToInt32(Sales[i] * ВертМасштаб);
// Отнимаем значения продаж, поскольку ось Y экрана
// направлена вниз
X[i] = XНачЭпюры + Convert.ToInt32(ГоризШаг * i);
}
// Рисуем первый кружок:
var Перо = new Pen(Color.Blue, 3);
Графика.DrawEllipse(Перо, X[0] - 2, Y[0] - 2, 4, 4);
for (this.i = 0; i <= Sales.Length - 2; i++)
{
// Цикл по линиям между точками:
Графика.DrawLine(Перо, X[i], Y[i], X[i + 1], Y[i + 1]);
// Отнимаем 2, поскольку диаметр (ширина) точки = 4:
Графика.DrawEllipse(Перо, X[i + 1] - 2, Y[i + 1] - 2, 4, 4);
}
}
}
2.14.2 Контрольный пример
2.15 Постановка Задачи №15
Цель: Программа для чтения/записи текстового файла в кодировке Unicode
2.15 Листинг программы
public partial class Form1: Form
{
String ИмяФайла;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
richTextBox1.Multiline = true; richTextBox1.Clear();
richTextBox1.Size = new Size(268, 112);
button1.Text = "Открыть"; button1.TabIndex = 0;
button2.Text = "Сохранить";
this.Text = "Здесь кодировка Unicode";
ИмяФайла = @"D:\Text1.txt";
}
private void button1_Click(object sender, EventArgs e)
{
try
{
var Читатель = new System.IO.StreamReader(ИмяФайла);
richTextBox1.Text = Читатель.ReadToEnd();
Читатель.Close();
}
catch (System.IO.FileNotFoundException Ситуация)
{
MessageBox.Show(Ситуация.Message + "\n" +
"Нет такого файла", "Ошибка",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception Ситуация)
{
MessageBox.Show(Ситуация.Message, "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
var Писатель = new System.IO.
StreamWriter(ИмяФайла, false);
Писатель.Write(richTextBox1.Text);
Писатель.Close();
}
catch (Exception Ситуация)
{
MessageBox.Show(Ситуация.Message, "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
}
}
2.15.2 Контрольный пример
2.16 Постановка Задачи №16
Цель: Создать свою собственную таблицу
2.16.1 Листинг программы
public partial class Form1: Form
{
DataTable Таблица;
DataSet НаборДанных;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Почти табличный редактор";
button1.Text = "Запись";
Таблица = new DataTable();
НаборДанных = new DataSet();
if (System.IO.File.Exists(@"C:\tabl.xml") == true)
{
НаборДанных.ReadXml(@"C:\tabl.xml");
var СтрокаXML = НаборДанных.GetXml();
dataGridView1.DataMember = "Название таблицы";
dataGridView1.DataSource = НаборДанных;
}
else
{
dataGridView1.DataSource = Таблица;
Таблица.Columns.Add("Ф.И.О");
Таблица.Columns.Add("Дата рожденья");
НаборДанных.Tables.Add(Таблица);
}
}
private void button1_Click(object sender, EventArgs e)
{
Таблица.TableName = "Название таблицы";
НаборДанных.WriteXml(@"C:\tabl.xml");
}
}
}
2.16.2 Контрольный пример
2.17 Постановка Задачи №17
Цель: В сохраненной странице любого вебсайта программно поменять шрифт и размер шрифта
2.17.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Веб-страница и ее HTML-код";
textBox1.Text = String.Empty;
richTextBox1.Text = String.Empty;
richTextBox1.Multiline = true;
button1.Text = "ПУСК";
webBrowser1.Dock = DockStyle.None;
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(textBox1.Text);
}
private void webBrowser1_DocumentCompleted(object sender,WebBrowserDocumentCompletedEventArgs e)
{
richTextBox1.Text = webBrowser1.Document.Body.InnerHtml;
}
}
}
2.17.2 Контрольный пример
2.18 Постановка Задачи №18
Цель: Использовать файл 12.htm
2.18.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Сведения от банка России";
var КЛИЕНТ = new System.Net.WebClient();
System.IO.Stream ПОТОК;
String СТРОКА;
try
{
ПОТОК = КЛИЕНТ.OpenRead("https://www.cbr.ru/");
}
catch (Exception Ситуация)
{
СТРОКА = String.Format(
"www.cbr.ru" + "\n{0}", Ситуация.Message);
label1.Text = СТРОКА;
return;
}
var Читатель = new System.IO.StreamReader(ПОТОК);
СТРОКА = Читатель.ReadToEnd();
var i = СТРОКА.IndexOf("Доллар США");
СТРОКА = СТРОКА.Substring(i, 300);
i = СТРОКА.IndexOf(" ");
i = i - 1;
СТРОКА = СТРОКА.Substring(i + 7, 7);
СТРОКА = String.Format(
"Курс доллара США на {0:D}:\n" +
"{1} руб за $1 USD", DateTime.Now, СТРОКА);
ПОТОК.Close();
label1.Text = СТРОКА;
pictureBox1.ImageLocation =
"https://www.cbr.ru/images/main_logo.gif";
}
}
}
2.18.2 Контрольный пример
2.19 Постановка задачи №19
Цель: Создать свою базу данных. Подключить ее к приложению C#. Добавить две кнопки в Binding Navigator “Сохранить” и “Изменить”.
2.19.1 Листинг программы
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;
using MySql.Data.MySqlClient;
namespace WindowsFormsApplication4
{
public partial class Form1: Form
{
private BindingSource bindingSorce = new BindingSource();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "server=127.0.0.1;user=root;password=123456;database=mctestdb1";
MySqlConnection coon = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "SELECT * FROM dm_autos";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
bindingNavigator1.BindingSource = bindingSorce;
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
}
}
}
2.19.2 Контрольный пример
2.20 Постановка задачи №20
Цель: 1.Создать в MySQL базу данных для электронного досье и заполнить
2.Решить вопрос с фотографией для первой страницы для каждого субъекта
3.В конфиденциальной информации секретный(закодированный)файл должен сохраняться в закодированном виде.
4.Также предусмотреть возможность открыть обычный файл,закодировать и сохранить.
2.20.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string connStr = "server=127.0.0.1;user=root;password=123456;database=pers_dat";
MySqlConnection coon = new MySqlConnection(connStr);
BindingSource bindingSorce = new BindingSource();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "SELECT * FROM dosye";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
BindingNavigator bindingNavigator1 = new BindingNavigator();
bindingNavigator1.BindingSource = bindingSorce;
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
coon.Close();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "server=127.0.0.1;user=root;password=123456;database=pers_dat";
MySqlConnection coon = new MySqlConnection(connStr);
BindingSource bindingSorce = new BindingSource();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "Insert into dosye(fam,im,otc,gor,ul,dom,kv,pol,tel,sot,eml) values('" + textBoxFam.Text + "','" + textBoxIm.Text + "','" + textBoxOtc.Text + "','" + textBoxGor.Text + "','" + textBoxUl.Text + "','" + textBoxDom.Text + "','" + textBoxKv.Text + "','" + textBoxPol.Text + "','" + textBoxTel.Text + "','" + textBoxSot.Text + "','" + textBoxEml.Text + "')";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
BindingNavigator bindingNavigator1 = new BindingNavigator();
bindingNavigator1.BindingSource = bindingSorce;
dataGridView1.DataSource = bindingSorce;
coon.Close();
cmd.Connection = coon;
cmd.CommandText = "SELECT * FROM dosye";
adapter.Fill(dataset);
bindingNavigator1.BindingSource = bindingSorce;
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
coon.Close();
}
private void button2_Click(object sender, EventArgs e)
{
string connStr = "server=127.0.0.1;user=root;password=123456;database=pers_dat";
MySqlConnection coon = new MySqlConnection(connStr);
BindingSource bindingSorce = new BindingSource();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "delete from dosye where iddosye="+dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value.ToString()+"";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
BindingNavigator bindingNavigator1 = new BindingNavigator();
bindingNavigator1.BindingSource = bindingSorce;
dataGridView1.DataSource = bindingSorce;
coon.Close();
cmd.Connection = coon;
cmd.CommandText = "SELECT * FROM dosye";
adapter.Fill(dataset);
bindingNavigator1.BindingSource = bindingSorce;
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
coon.Close();
} private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBoxFam.Text = dataGridView1[1, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxIm.Text = dataGridView1[2, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxOtc.Text = dataGridView1[3, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxGor.Text = dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxUl.Text = dataGridView1[5, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxDom.Text = dataGridView1[6, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxKv.Text = dataGridView1[7, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxPol.Text = dataGridView1[8, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxTel.Text = dataGridView1[9, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxSot.Text = dataGridView1[10, dataGridView1.CurrentCell.RowIndex].Value.ToString();
textBoxEml.Text = dataGridView1[11, dataGridView1.CurrentCell.RowIndex].Value.ToString();
}
private void button3_Click(object sender, EventArgs e)
{
string connStr = "server=127.0.0.1;user=root;password=123456;database=pers_dat";
string id = dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.ToString();
MySqlConnection coon = new MySqlConnection(connStr);
BindingSource bindingSorce = new BindingSource();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = coon;
cmd.CommandText = "update dosye set fam='" + dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString() + "',im='" + dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString() + "',otc='" + dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString() + "',gor='" + dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString() + "',ul='" + dataGridView1[5, dataGridView1.CurrentRow.Index].Value.ToString() + "',dom='" + dataGridView1[6, dataGridView1.CurrentRow.Index].Value.ToString() + "',kv='" + dataGridView1[7, dataGridView1.CurrentRow.Index].Value.ToString() + "',pol='" + dataGridView1[8, dataGridView1.CurrentRow.Index].Value.ToString() + "',tel='" + dataGridView1[9, dataGridView1.CurrentRow.Index].Value.ToString() + "',sot='" + dataGridView1[10, dataGridView1.CurrentRow.Index].Value.ToString() + "',eml='" + dataGridView1[11, dataGridView1.CurrentRow.Index].Value.ToString() + "' where iddosye="+id+"";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
BindingNavigator bindingNavigator1 = new BindingNavigator();
bindingNavigator1.BindingSource = bindingSorce;
dataGridView1.DataSource = bindingSorce;
coon.Close();
cmd.Connection = coon;
cmd.CommandText = "SELECT * FROM dosye";
adapter.Fill(dataset);
bindingNavigator1.BindingSource = bindingSorce;
bindingSorce.DataSource = dataset.Tables[0];
dataGridView1.DataSource = bindingSorce;
coon.Close();
}
private void button4_Click(object sender, EventArgs e)
{
char[] kod = { '!', '*', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '=', '*', '/', '1','2', '3', '4', '5', '6', '7', '8', '9', '0', '/' };
string s = richTextBox1.Text;
Random r = new Random();
int index;
string s2;
s2 = "";
for (int i = 0; i < s.Length; i++)
{
index = r.Next(kod.Length);
s2 = s2 + kod[index];
}
richTextBox2.Text = s2;
System.IO.File.WriteAllText(Application.StartupPath + "/Файлы/shifr.txt", richTextBox1.Text);
richTextBox1.Clear();
}
private void button5_Click(object sender, EventArgs e)
{
richTextBox2.Clear();
FileStream stream = new FileStream(Application.StartupPath + "/Файлы/shifr.txt", FileMode.Open);
StreamReader reader = new StreamReader(stream);
string str = reader.ReadToEnd();
stream.Close();
richTextBox1.Text = str;
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
pictureBox2.Load(Application.StartupPath + "/Фото/" + comboBox2.Text + ".jpg");
}
private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
{
webBrowser1.Navigate(Application.StartupPath + "/Ссылки/" + comboBox4.Text + ".htm");
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
richTextBox3.LoadFile(Application.StartupPath + "/Информация/" + comboBox3.Text + ".txt", RichTextBoxStreamType.PlainText);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
webBrowser1.Navigate(new Uri("c:\\name"));
}
}
}
2.20.2 Контрольный пример
2.21 Постановка задачи №21
Цель: Создать следующую таблицу Фамилия_Имя,Предмет_ООП, Предмет_ТРПО. Вывести три фамилии, выставить оценки по предметам и в итоге посчитать среднюю оценку по предмету
2.21.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Dock = DockStyle.None;
var СтрокаHTML = "Отчет" +
"<table border> " +
"<caption>Таблица учеников</caption> " +
"<tr><td>Майданкин Данил<td>4 " +
"<tr><td>Конаев Адиль<td>3 " +
"<tr><td>Кузнецов Сергей<td>4 " +
"</table> " +
"Общая оценка 9";
webBrowser1.Navigate("about:" + СтрокаHTML);
}
}
}
2.21.2 Контрольный пример
2.22 Постановка задачи №22
Цель: Создать ведомость успеваемости студентов
2.22.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
base.Text = "Поcтроение таблицы";
}
private void button1_Click(object sender, EventArgs e)
{
String[] Имена = {
"Ахмешев Ринат", "Ахметжанов Рустам", "Голядкин Андрей",
"Гусельников Артем", "Дэ Хан Кан",
"Иминов Роман", "Касмынин Артем",
"Колодин Никита", "Кондратов Никита"};
String[] Тлф = {
"3", "4",
"5", "4", "5",
"5", "3",
"5", "5"};
var Ворд1 = new Microsoft.Office.Interop.
Word.Application();
Ворд1.Visible = true;
var Документ = Ворд1.Documents.Add();
Ворд1.Selection.TypeText("ТАБЛИЦА успеваемости учеников");
var t1 = Microsoft.Office.Interop.
Word.WdDefaultTableBehavior.wdWord9TableBehavior;
var t2 = Microsoft.Office.Interop.
Word.WdAutoFitBehavior.wdAutoFitContent;
Ворд1.ActiveDocument.Tables.Add(Ворд1.Selection.Range,
9, 2, t1, t2);
for (int i = 1; i <= 9; i++)
{
Ворд1.ActiveDocument.Tables[1].Cell(i, 1).
Range.InsertAfter(Имена[i - 1]);
Ворд1.ActiveDocument.Tables[1].Cell(i, 2).
Range.InsertAfter(Тлф[i - 1]);
}
var t3 = Microsoft.Office.Interop.Word.WdUnits.wdLine;
var Строка9 = 9;
Ворд1.Selection.MoveDown(t3, Строка9, null);
Ворд1.Selection.TypeText("Успеваемость группы 39");
}
}
}
2.22.2Контрольный пример
2.23 Постановка задачи №23
Цель: Составить, программу используя элемент TreeView
2.23.1 Листинг программы
public partial class Form1: Form
{
int indexstate;
public Form1()
{
InitializeComponent();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
label1.Text = e.Node.Text + " | " + Convert.ToString(e.Node.Index);
indexstate = e.Node.Index;
if (e.Node.Text == "Египетские пирамиды") {
richTextBox1.Text = "Великие семь чудес света — висячие сады Семирамиды, Александрийский маяк, статуя Зевса, колосс Родосский и т. д. О них знают все. Но только одно «чудо» из этих семи сохранилось од наших дней. Это таинственные египетские пирамиды, возраст которых насчитывает уже более 4 500 лет.";
pictureBox1.Load("images/pyramid.jpg");
}
if (e.Node.Text == "Стоунхендж")
{
richTextBox1.Text = "На фоне бесконечного неба четко вырисовываются эти исполины. Что-то таинственное, совершенно непонятное и притягивающее есть в этих гигантах. По сей день до конца неизвестно, зачем в 3 тысячелетии до нашей эры были возведены эти мегалиты. Их предназначение до сих пор остается темой многочисленных споров в ученом мире. На первый взгляд, каменные изваяния кажутся совершенно примитивными. Но это только на первый взгляд.";
pictureBox1.Load("images/stone.jpg");
}
if (e.Node.Text == "Пирамиды майя")
{
richTextBox1.Text = "Мексиканцы убеждены, что существует три основных символа их страны: сомбреро, изумительные пляжи и, конечно, знаменитые пирамиды майя. Не зря же столько лет пирамиды так тщательно охраняют и берегут. В средние века их даже прятали от испанцев, чтобы захватчики не снесли сооружения и не растащили сокровища, хранящиеся внутри. Цивилизация майя самобытна и загадочна, история майя полна неразрешимых тайн. Тысячи туристов ежегодно едут в непроходимые джунгли, чтобы увидеть таинственные заброшенные города. ";
pictureBox1.Load("images/maya.jpg");
}
}
}
}
2.23.2Контрольный пример
2.24 Постановка задачи №24
Цель: Составить прогрмму использующую Главное и контекстное меню
2.24.1 Листинг программы
public class MainForm: Form
{
// создание главного меню
private MainMenu mainMenu = new MainMenu();
// создание подпунктов меню
private MenuItem mnuFile = new MenuItem("&File");
private MenuItem mnuFileNew = new MenuItem("&New");
private MenuItem mnuFileExit = new MenuItem("E&xit");
public MainForm()
{
// организация иерархии пунктов меню
mnuFile.MenuItems.AddRange(mnuFileNew, mnuFileExit);
mainMenu.MenuItems.Add(mnuFile);
// связь с главным меню формы
Menu = mainMenu;
Text = "Main menu test";
}
}
}
2.24.2Контрольный пример
2.25 Постановка задачи №25
Цель: На базе программы «говорящие кошки» создать другие говорящие персонажи
2.25.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Visible = true;
pictureBox2.Visible = false;
}
private void button2_Click(object sender, EventArgs e)
{
pictureBox2.Visible = true;
pictureBox1.Visible = false;
}
}
}
2.25.2Контрольный пример
2.26Постановка задачи №26
Цель: Запись в Word из C#
2.26.1 Листинг программы
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, System.EventArgs e)
{
Microsoft.Office.Interop.Word.Application oWord = new Word.Application();
oWord.Visible = true;
var oDoc = oWord.Documents.Add();
//Insert a paragraph at the beginning of the document.
var paragraph1 = oDoc.Content.Paragraphs.Add();
paragraph1.Range.Text = "Heading 1";
paragraph1.Range.Font.Bold = 1;
paragraph1.Format.SpaceAfter = 24; //24 pt spacing after paragraph.
oDoc.SaveAs(@"C:\Пример.docx");
oWord.Quit();
}
}
}
2.26.2Контрольный пример
2.27 Постановка задачи №27
Цель: Используя программу SpeechAPI (находится во Вспомогательных материалах Задание 5), создать самостоятельно такую же программу и научить ее говорить по русски.
2.27.1 Листинг программы
private void btnSpeak_Click(object sender, EventArgs e)
{
if ((Convert.ToInt32(btnSpeak.Tag) == 0) && (sender!= null))
{
btnSpeak.Tag = 1;
btnSpeak.Text = "STOP";
try
{
if (cbVoices.Text.Length > 0)
{
m_voice.Voice = m_voice.GetVoices(string.Format("Name={0}", cbVoices.Text), "Language=409").Item(0);// 409
}
if (cbSaveToWave.Checked)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
sfd.Title = "Save to a wave file";
sfd.FilterIndex = 2;
sfd.RestoreDirectory = true;
if (sfd.ShowDialog() == DialogResult.OK)
{
SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
SpFileStream SpFileStream = new SpFileStream();
SpFileStream.Open(sfd.FileName, SpFileMode, false);
m_voice.AudioOutputStream = SpFileStream;
m_voice.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
m_voice.WaitUntilDone(Timeout.Infinite);
SpFileStream.Close();
}
}
else
{
m_voice.Speak(textBox2.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
}
}
catch
{
MessageBox.Show("Speak error");
}
}
else
{
btnSpeak.Tag = 0;
btnSpeak.Text = "SPEAK";
m_voice.Speak(null, (SpeechVoiceSpeakFlags)2);
m_voice.Resume();
}
}
private void Rate_Scroll(object sender, EventArgs e)
{
m_voice.Rate = Rate.Value;
}
private void Volume_Scroll(object sender, EventArgs e)
{
m_voice.Volume = Volume.Value;
}
private void m_voice_EndStream(int StreamNumber, object StreamPosition)
{
btnSpeak_Click(null, null);
}
private void Form2_Load(object sender, EventArgs e)
{
notifyIcon1.ShowBalloonTip(1000, "asdasd", "new text", ToolTipIcon.Info);
m_voice = new SpVoice();
m_voice.EndStream += new _ISpeechVoiceEvents_EndStreamEventHandler(m_voice_EndStream);
foreach (ISpeechObjectToken t in m_voice.GetVoices("", ""))
{
cbVoices.Items.Add(t.GetAttribute("Name"));
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox2.Text = dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.ToString();
pictureBox1.Load("Images/" + textBox2.Text + ".jpg");
}
}
2.27.2Контрольный пример
2.28 Постановка задачи №28
Цель: Написать программу на Android Studio с выводом ошибки на экран
2.28.1 Листинг программы
activity_main.xml
<RelativeLayout xmlns:androclass="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />
</RelativeLayout>
MainActivity.java
package com.example.alertdialog;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//Uncomment the below code to Set the message and title from the strings.xml file
//builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);
//Setting message manually and performing action on button click
builder.setMessage("Do you want to close this application?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
}
});
//Creating dialog box
AlertDialog alert = builder.create();
//Setting the title manually
alert.setTitle("AlertDialogExample");
alert.show();
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);