4.2-расм. Оддий матн муҳаррири
4.3 листинг. Оддий матн муҳаррири
|
// Оддий матн мухаррири
using System;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ТекстовыйРедактор
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Multiline = true;
textBox1.Clear();
textBox1.Size = new Size(268, 160);
this.Text = "Оддий матн мухаррири";
openFileDialog1.FileName = @"D:\Text2.txt";
openFileDialog1.Filter =
"Матнли файллар (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog1.Filter =
"Матнли файллар (*.txt)|*.txt|All files (*.*)|*.*";
}
private void открытьToolStripMenuItem_Click(
object sender, EventArgs e)
{
// Файлни очиш диалоги
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName == String.Empty) return;
// Матнли файлдан укиш:
try
{
// Файлдан маълумотларни укиб олиш учун StreamReader объекти
var Reader = new System.IO.StreamReader(
openFileDialog1.FileName,
Encoding.GetEncoding(1251));
// - Windows 1251 кодировкасида ёзилган матнли файлдан укиш
textBox1.Text = Reader.ReadToEnd();
Reader.Close();
}
catch (System.IO.FileNotFoundException Xatolik)
{
MessageBox.Show(Xatolik.Message + "\nФайл мавжуд эмас",
"Хатолик", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception Xatolik)
{ // Бошка турдаги хатолик:
MessageBox.Show(Xatolik.Message, "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void сохранитьКакToolStripMenuItem_Click(
object sender, EventArgs e)
{
// Саклаш менюси
saveFileDialog1.FileName = openFileDialog1.FileName;
if (saveFileDialog1.ShowDialog() ==
DialogResult.OK) Saqlash();
}
private void Saqlash()
{
try
{
// Файлга ёзиш учун StreamWriter объектини хосил килиш:
var Writer = new System.IO.StreamWriter(
saveFileDialog1.FileName, false,
System.Text.Encoding.GetEncoding(1251));
// - здесь заказ кодовой страницы Win1251 для русских букв
Writer.Write(textBox1.Text);
Writer.Close();
textBox1.Modified = false;
}
catch (Exception Xatolik)
{
// Хатоликларни аниклаш:
MessageBox.Show(Xatolik.Message, "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void выходToolStripMenuItem_Click(
object sender, EventArgs e)
{
this.Close();
}
private void Form1_FormClosing(
object sender, FormClosingEventArgs e)
{
// Форма ёпилиши ходисасини кайта ишлаш:
if (textBox1.Modified == false) return;
// Агар матн узгартирилган булса, уни хотирага саклашни таклиф килиш
var MBox = MessageBox.Show(
"Матн узгартирилган." + "Хотирага саклансинми?",
"Оддий мухаррир", MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Exclamation);
// YES — диалог: NO — чикиш: CANCEL - ёзгартириш
if (MBox == DialogResult.No) return;
if (MBox == DialogResult.Cancel) e.Cancel = true;
if (MBox == DialogResult.Yes)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{ Saqlash(); return; }
else e.Cancel = true;
} // DialogResult.Yes
}
}
}
|
Дастур биринчи маротаба ишга туширилганда бошланғич параметрлар шакллантирилади. Масалан, Очиш (Open) ва Сақлаш (Save) учун файлларга фильтр ўрнатилган:
Do'stlaringiz bilan baham: |