C# мисоллар


VS 2012 муҳитида RichTextBox



Download 0,91 Mb.
bet35/52
Sana24.02.2022
Hajmi0,91 Mb.
#215341
1   ...   31   32   33   34   35   36   37   38   ...   52
Bog'liq
C# windows app form

VS 2012 муҳитида RichTextBox бошқарув элементи мавжуд бўлиб, ушбу элемент орқали матнни RTF (MS WORD форматларидан бири) стандарт асосида форматлаш имконияти мавжуд. RTF формати орқали матн шрифтини, стилини, абзацини ва бошқа турдаги форматини ўзгартириш мумкин.
Ушбу мисолда оддий RTF муҳарририни яратиш намойиш қилинган бўлиб, унда Windows1251 кодировка оддий матнли файллар,
Ушбу масалани ҳал қилиш учун VS 2012 муҳитини ишга туширамиз. Сўнгра янги Windows Forms Application (Приложение Windows Forms) лойиҳасини ҳосил қилиб, унга Test номини берамиз. Кейинги қадамда ToolBox панелидан иккита Button, битта Label ва учта RadioButton бошқарув элементларини танлаб, уни формага жойлаштирамиз. Қуйидаги 4.6 листингда ушбу дастурнинг коди келтирилган:

4.5 листинг. Талаба билимини тест қилиш дастури

// Оддий RTF-редактор дастури
using System;
using System.Windows.Forms;

namespace RtfРедактор


{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Оддий RTF-редактор";
richTextBox1.Clear();
openFileDialog1.FileName = @"D:\Text2.txt";
saveFileDialog1.Filter = "RTF (*.RTF)|*.RTF файллари";
// "RTF форматдаги файлни очиш" ва "Win1251 форматдаги файлни очиш"
// ходисаларини битта функция оркали кайта ишлаймиз:
RTFo.Click +=
new EventHandler(Ochish);
w1251.Click +=
new EventHandler(Ochish);
}
void Ochish(Object sender, EventArgs e)
{
// Турли Formatдаги файлларни очиш
// кайси Formatдаги файл очилиши зарурлигини аниклаш:
var t = (ToolStripMenuItem)sender;
// Менюдаги ёзувни укиб оламиз:
var Format = t.Text;
try
{
if (Format == "RTF форматдаги файлни очиш")
{
openFileDialog1.Filter =
"RTF (*.RTF)|*.RTF Файллари";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName == null) return;
richTextBox1.LoadFile(openFileDialog1.FileName);
}
if (Format == "Win1251 форматдаги файлни очиш")
{
openFileDialog1.Filter =
"(*.txt)|*.txt матнли файллар";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName == null) return;
richTextBox1.LoadFile(openFileDialog1.FileName,
RichTextBoxStreamType.PlainText);
}
richTextBox1.Modified = false;
}
catch (System.IO.FileNotFoundException Holat)
{
MessageBox.Show(Holat.Message +
"\nБундай файл мавжуд эмас", "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
catch (Exception Holat)
{ // Отчет о других ошибках
MessageBox.Show(Holat.Message, "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void сохранитьВФорматеRTFToolStripMenuItem_Click(
object sender, EventArgs e)
{
saveFileDialog1.FileName = openFileDialog1.FileName;
if (saveFileDialog1.ShowDialog() == DialogResult.OK) Saqlash();
}
void Saqlash()
{
try
{
richTextBox1.SaveFile(saveFileDialog1.FileName);
richTextBox1.Modified = false;
}
catch (Exception Holat)
{
// Отчет обо всех возможных ошибках:
MessageBox.Show(Holat.Message, "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void выходToolStripMenuItem_Click(
object sender, EventArgs e)
{
this.Close();
}
private void Form1_FormClosing(
object sender, FormClosingEventArgs e)
{
// Форма ёпилиши ходисасини кайта ишлаш:
if (richTextBox1.Modified == false) return;
// Агар матн узгартирилган булса, файлни саклаш лозимми?
var MBox = MessageBox.Show(
"Матн узгартирилган.\n" + "Узгаришларни саклаш лозимми?",
"Оддий редактор", 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 шарти охири
}
}
}



Ушбу дастур тузилмаси 29-листингда келтирилган дастурга ўхшаш бўлиб, форма биринчи маротаба юкланаётган вақтда баъзи ўзгарувчиларга бошланғич қиймат берилган. Дастурнинг ушбу қисмида менюдаги иккита ҳодиса учун битта қайта ишлаш функцияси аниқланган:

Download 0,91 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   52




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish