using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices;



Benzer belgeler
// seçilen dosya ile programımız arasına bir boru hattı açıyoruz StreamReader sr = new StreamReader(dosya_adi, Encoding.GetEncoding(1254));

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

OfficeExcelProgramıAnlatımı

Görsel Programlama (Visual Programming)

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

WORD KULLANIMI

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

MICROSOFT WORD ÖRNEK SORULAR

MEKANİZMA TEKNİĞİ (7. Hafta)

MICROSOFT OFFİCE WORD PROGRAMI DOSYA İŞLEMLERİ

MİCROSOFT OFFİCE WORD SORULARI

MİCROSOFT OFFİCE WORD 2010 ÖRNEK TEST SORULARI

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

BİLİŞİM TEK VE YAZ. DERSİ WORD 2007 SORULARI(CEVAPLAR SON SAYFALARDA RENKLİ GÖSTERİLMİŞTİR.)

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

Görsel Programlama (Visual Programming) 2.Hafta

BİLGİSAYAR PROGRAMLAMA

Temel Bilgisayar Dersi

GİRİŞ MENÜSÜ-WORD 2007

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 1. DÖNEM 1. YAZILI SINAV ÖRNEK SORULARI

SINIF İÇİ UYGULAMA KODLARI

MİCROSOFT OFFİCE WORD SORULARI

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

8.Sayfa ve 9.Yazım 10.Belge Görünüm 11.Ekran Yakınlaştırma Sözcük Sayısı Denetimi Düğmeleri ve Uzaklaştırma

Powerpoint; Microsoft ofis programları içinde bulunan bir sunum hazırlama programıdır.

Microsoft Word 2007 Çalışma Soruları

.docx veya.doc (2007 ve üzeri sürümlerde.docx iken sürümlerinde.doc tur.) 1.Belge Başlığı

WORD KULLANIMI OFFICE DÜĞMESİ HIZLI ERİŞİM ARAÇ ÇUBUĞU MENÜLER ŞEKİL, RESİM EKLEME TABLO EKLEME ETKİNLİKLER

Metin Tabanlı İçerik Oluşturma Araçları

Oyuncu Sınıfı. /// <summary> /// Oyuncumuzun elindeki kart /// </summary> private ArrayList kart = new ArrayList(6);

WORD KULLANIMI

BİLGİSAYARDA OFİS PROGRAMLARI BİÇİMLENDİRME

Microsoft Word 2007 Modül 4 Çalışma Soruları

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek.

C#.Net & Linq (Language Integrated Query)

MİCROSOFT WORD PROGRAMI ÇALIŞMA KAĞIDI

Görsel Programlama (Visual Programming) 2.Hafta

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

.docx veya.doc (2007 ve üzeri sürümlerde.docx iken sürümlerinde.doc tur.) 1.Belge Başlığı

BİLGİSAYAR UYGULAMALARI BÖLÜM 2

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

Bu sekme ile genel olarak biçimlendirme ile ilgili ayarlamaların yapıldığı sekmedir.

Hizalama Word dokümanlarınızda oluşturduğunuz veya oluşturacağınız metinlerin hizalamasını yapabilirsiniz. Bu işlem için:

düğmesine ile bir sayfa yukarıya, düğmesi ile bir sayfa aşağı gidebilirsiniz.

İNTERNET TABANLI PROGRAMLAMA- 3.ders

TEMEL BİLGİSAYAR DERSİ

BİÇİMLENDİRME. Bu bölümde yazdığınız metin üzerinde her türlü şekillendirme yapmayı öğreneceksiniz.

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

Bilgi Teknolojileri Kullanımı 2. Seviye [ 10 Saat ]

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

Bu bölümde yazdığınız metin üzerinde her türlü şekillendirme yapmayı öğreneceksiniz.

TEMEL BİLGİSAYAR. Ders Notları. Yard. Doç. Dr. Seyit Okan KARA

Response : Sunucunun istemciye veri yollamasını

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

BİLİŞİM TEKNOLOJİLERİ DERSİ WORD 2007 SORULARI

MİCROSOFT WORD Giriş. Kelime İşlemci. Dikey Metin Seçme. Girintiler. Seçim işlemi

İNTERNET TABANLI PROGRAMLAMA

Microsoft Word 2010 Soruları

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

Bir sonraki pencereye geçiş yapar. Önceki pencereye geçiş yapar. alt + ÜST KRKT + SEKME

Ders 8: Metotlar. barisgokce.com

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

//word document object Document document = null; public Form1() { InitializeComponent(); }

HSancak Nesne Tabanlı Programlama I Ders Notları

Bilişim Teknolojileri Ve Yazılım Dersi Çalışma Kağıdı-2 (5.Sınıflar)

Temel Bilgi Teknolojileri - II Ayrıntılı Ders İçerikleri

MODÜL 3 KELİME İŞLEM UYGULAMALARI 1

BİLGİ VE İLETİŞİM TEKNOLOJİSİ ÜNİTE III

12) H 2 O 100m 3 (alt/üst simge) gibi metin ayarlarını nereden yapabiliriz? a-) Giriş Pano b-) Giriş Yazıtipi c-) Giriş Paragraf d-) Giriiş Stiller

ÖĞRENME FAALİYETİ 2 ÖĞRENME FAALİYETİ 2 AMAÇ 2. BİÇİMLENDİRME

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

MİCROSOFT POWERPOINT DERS NOTLARI

TEMEL BİLGİSAYAR. Ders Notları. Yard. Doç. Dr. Seyit Okan KARA

ÖNDER BİLGİSAYAR KURSU. İşletmenlik Kursu Eğitim İçeriği

BİLGİSAYAR PROGRAMLAMA

Şekil Yazı tipini biçimlendirme araç çubuğu simgeleri

WORD 2010 PROGRAMI 1-miseR 2-miseR Pencere Durum Düğmeleri: Başlık Çubuğu:

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

Bilgisayar Grafiğine Giriş Ders Notları

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

Web sayfalarında yapılan her çalışma ve düzenleme tablolar aracılığı ile yapılır. Dolayısıyla çoğu web sayfalarında tablo kullanmak zorunluluktur.

BELGE İŞLEMLERİ. Bu bölümde kelime işlemci programının arayüzünü inceleyerek görünüm ayarlarının nasıl yapıldığına bakacağız.

MODÜL BİLGİ SAYFASI KODU :

Bo lu m 7: Hesap Tabloları

İÇİNDEKİLER BÖLÜM-1. BİLGİSAYARIN TANIMI VE ÇALIŞMA PRENSİBİ...1 BÖLÜM-2. WİNDOWS XP İŞLETİM SİSTEMİ...27

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1. MİCROSOFT EXCEL 2010 A GİRİŞ

Bu Hafta Öğreneceklerimiz

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

POWER POINT PROGRAMI ÇALIŞMA NOTLARI

Kopyalama ve Taşıma konularıyla ilgili daha değişik uygulamalar yaparak bu konunun pekiştirilmesini sağlamanız yararınıza olacaktır.

Resim 7.20: Yeni bir ileti oluşturma

ÜNİTE 1: KELİME İŞLEMCİ PROGRAMI

Transkript:

using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; namespace BMYOWordPad public partial class Form1 : Form // kaydırma çubuğu zoom için kullanılacak TrackBar trb = new TrackBar(); public Form1() InitializeComponent(); // kaydırma çubuğunun özellikleri ayarlanıyor. trb.autosize = false; trb.height = 18; trb.width = 150; trb.minimum = 1; trb.maximum = 50; trb.value = 10; trb.tickfrequency = 10; trb.tickstyle = TickStyle.None; trb.valuechanged += new EventHandler(trb_ValueChanged); // kaydırma çubuğu durum çubuğuna eklenecek. ToolStripControlHost mycontrolhost = new ToolStripControlHost(trb); statusstrip1.items.insert(8, mycontrolhost); // kaydırma çubuğun yakınlaştırma/uzaklaştırma için kullanılacak void trb_valuechanged(object sender, EventArgs e) richtextbox1.zoomfactor = (float)trb.value / 10; lblzoom.text = "%" + (richtextbox1.zoomfactor * 100); // form açılınca ilk önce yapılacak işlemler. private void Form1_Load(object sender, EventArgs e) // Form açılınca ilk önce Font listesini yükleyecek foreach (FontFamily f in FontFamily.Families) // tüm stilleri desteklemiyorsa almayacağız if (f.isstyleavailable(fontstyle.bold) && f.isstyleavailable(fontstyle.italic) && f.isstyleavailable(fontstyle.strikeout) && f.isstyleavailable(fontstyle.underline) && f.isstyleavailable(fontstyle.regular)) cbyazitipi.items.add(f.name); 1

//yazı büyüklüklerini yükle cbyazibuyuklugu.items.addrange(new object[] 5, 8, 9, 10, 12, 14, 16, 18, 20, 24, 28, 32, 36, 40, 48, 60, 72, 100 ); // başlangıç yazısı tipini ayarla richtextbox1.font = new System.Drawing.Font("Times New Roman", 12, FontStyle.Regular); // Yazı tiplerinin bulunduğu combobox ta seçili olan aktif font olacak cbyazitipi.text = richtextbox1.font.name; // yazı büyüklüğünü aktif fontun büyüklüğüne ayarla cbyazibuyuklugu.text = richtextbox1.font.size.tostring(); // yeni bir dosya için başka bir form olarak başlat. private void tsbyeni_click(object sender, EventArgs e) System.Diagnostics.Process.Start(Application.ExecutablePath); // dosya adını kaydetme ve dosya açma işlemlerinde kullanacağız. string dosya_adi = null; // dosya açma işlemi private void tsbac_click(object sender, EventArgs e) // dosya açma dialoğunu programatik olarak oluşturuyoruz. OpenFileDialog opf = new OpenFileDialog(); // açılabilecek dosya formatları ayarlanıyor opf.filter = "BMYO Dosya Formatı *.myo Zengin Metin Formatı *.rtf Desteklenen Formatlar *.rtf;*.myo"; // varsayılanda aktif format "Desteklenen Formatlar *.rtf;*.myo" olacak opf.filterindex = 3; // dosya açma dialoğunun başlığı ayarlanıyor opf.title = "Programımızda açmak için dosya seç"; // aşağıdaki kod ile dosya açma dialoğunun başlangıç dizini ayarlanabilir // opf.initialdirectory = @"C:\"; if (opf.showdialog() == DialogResult.OK) // eğer dosya açma dialoğuna OK dediysek açmak için bir dosya seçmişizdir. // bu durumda dosya_adı seçilen doya olacaktır. dosya_adi = opf.filename; // seçilen dosyayı aç richtextbox1.loadfile(dosya_adi); this.text = "BMYO WordPad [" + dosya_adi + "]"; // dosya kaydetme işlemi private void tsbkaydet_buttonclick(object sender, EventArgs e) // eğer herhangi bir dosya açmadıysak ve yazdıklarımızı henüz kaydetmediysek dosya_adı null olacaktır. if (dosya_adi == null) // bu durumda farklı kaydet işlemini çalıştır tsbfarklikaydet_click(null, null); // eğer zaten daha önce kaydetmişsek ve varolan bir dosya açmışsak dosya_adı na kaydet. richtextbox1.savefile(dosya_adi); // Seçili Font, sf programın her yerinde seçili fontu temsil ediyor. Font sf get return richtextbox1.selectionfont; set richtextbox1.selectionfont = value; 2

// Farklı kaydetme işlemi private void tsbfarklikaydet_click(object sender, EventArgs e) // dosya kaydetme dialoğunu programatik olarak oluşturuyoruz. SaveFileDialog sfd = new SaveFileDialog(); // kaydetme formatları ayarlanıyor sfd.filter = "BMYO Dosya Formatı *.myo Zengin Metin Formatı *.rtf"; // varsayılanda aktif format "Zengin Metin Formatı *.rtf" olacak sfd.filterindex = 2; // dosya açma dialoğunun başlığı ayarlanıyor sfd.title = "Dosyayı Farklı Kaydet"; // eğer dosya kaydetmek için bir isim belirlediysek ve dialoğa OK dediysek if (sfd.showdialog() == DialogResult.OK) // bu durumda dosya_adı seçilen isim olacaktır. dosya_adi = sfd.filename; // dökümanı dosya_adı na kaydet. richtextbox1.savefile(dosya_adi); // formun başlığını ayarla this.text = "BMYO WordPad [" + dosya_adi + "]"; // richtextbox1 de metin alanına her tıklamada, veya seçili yazı her değiştiğinde burası çalışacaktır. private void richtextbox1_selectionchanged(object sender, EventArgs e) try // combobox ta seçili fontun adını göster cbyazitipi.text = sf.name; // seçili font büyüklüğünü göster cbyazibuyuklugu.text = sf.size.tostring(); // seçili font Koyu mu, italik mi, altı veya üstü çizili mi belirle tsbbold.checked = sf.bold; tsbitalik.checked = sf.italic; tsbaltiniciz.checked = sf.underline; tsbustunuciz.checked = sf.strikeout; // Geri alınacak bir şey varsa Geri Al aktif olacak // aynı durumda illeri alınacak birşey varsa yinele aktif olacak // diğer durumlarda geri al ve yinele pasif olacak mngerial.enabled = tsbundo.enabled = richtextbox1.canundo; mnyinele.enabled = tsbredo.enabled = richtextbox1.canredo; // seçili veya tıklanan alanda madde işareti varmı belirle tsbmaddeisareti.checked = richtextbox1.selectionbullet; // hangi yöne hizalanmış onu ayarla tsbsola.checked = (richtextbox1.selectionalignment == HorizontalAlignment.Left); tsbortala.checked = (richtextbox1.selectionalignment == HorizontalAlignment.Center); tsbsaga.checked = (richtextbox1.selectionalignment == HorizontalAlignment.Right); // seçili yazı varsa (seçilen harf sayısı 0'dan büyük ise) kes ve kopyala aktif olacak, yoksa deaktif olacak tsbkes.enabled = mnkes.enabled = mnsil.enabled = richtextbox1.selectedtext.length > 0; tsbkopyala.enabled = mnkopyala.enabled = richtextbox1.selectedtext.length > 0; // yapıştırılacak bir şey var yapıştırma aktif yoksa deaktif olacak mnyapistir.enabled = tsbyapistir.enabled = richtextbox1.canpaste(new DataFormats.Format("", 0)); // seçili yazının satır aralıklarını belirtecek lnsp1.checked = (richtextbox1.selectioncharoffset == 0); lnsp1_15.checked = (richtextbox1.selectioncharoffset == (int)(sf.size * 0.15)); lnsp1_5.checked = (richtextbox1.selectioncharoffset == (int)(sf.size * 0.5)); lnsp2.checked = (richtextbox1.selectioncharoffset == (int)(sf.size)); 3

// aktif konumdaki satır sütun numaralarını göster int index1 = richtextbox1.selectionstart; lblsatir.text = "Satır: " + (richtextbox1.getlinefromcharindex(index1) + 1); Point p = richtextbox1.getpositionfromcharindex(index1); if (p.x == 1) lblsutun.text = "Sütun: " + 1; p.x = 0; int index2 = richtextbox1.getcharindexfromposition(p); int col = index1 - index2 + 1; lblsutun.text = "Sütun: " + col; //------------------------------------------------ catch // Geri alma işlemi : Son değişikliği geri alır private void tsbundo_click(object sender, EventArgs e) richtextbox1.undo(); // Yineleme işlemi : Son geri alma işlemini yineler private void tsbredo_click(object sender, EventArgs e) richtextbox1.redo(); // tümünü seçme işlemi : tüm metni seçer private void tsbtumunusec_click(object sender, EventArgs e) richtextbox1.selectall(); // seçileni kesme işlemi private void tsbkes_click(object sender, EventArgs e) richtextbox1.cut(); // seçileni kopyalama işlemi private void tsbkopyala_click(object sender, EventArgs e) richtextbox1.copy(); // kesilen veya kopyalananı yapıştırma işlemi : yapıştırılacak birşey varsa yapıştırır. private void tsbyapistir_click(object sender, EventArgs e) richtextbox1.paste(); // seçilen kısmı sola hizalama işlemi : seçilen veya tıklanan paragrafı sola hizalar. private void tsbsola_click(object sender, EventArgs e) richtextbox1.selectionalignment = HorizontalAlignment.Left; // seçilen kısmı ortaya hizalama işlemi : seçilen veya tıklanan paragrafı ortaya hizalar. private void tsbortala_click(object sender, EventArgs e) richtextbox1.selectionalignment = HorizontalAlignment.Center; 4

// seçilen kısmı sağa hizalama işlemi : seçilen veya tıklanan paragrafı sağa hizalar. private void tsbsaga_click(object sender, EventArgs e) richtextbox1.selectionalignment = HorizontalAlignment.Right; // yazı tipi seçeneği için dialog açma işlemi private void tsbyazitipi_click(object sender, EventArgs e) // Yazı tipi dialoğu programatik olarak oluşturuluyor. FontDialog fd = new FontDialog(); // Yazı tipi dialoğunda yazı rengini göster fd.showcolor = true; // dialog açılmadan önce tıklan veya seçilen yerin fontu ile eşleştir fd.font = richtextbox1.selectionfont; // aynı zamanda dialogtaki yazı rengi de seçilen yer ile aynı olsun fd.color = richtextbox1.selectioncolor; // eğer yazı tipi için diaog OK (tamam) ile kapatılmış ise if (fd.showdialog() == DialogResult.OK) // seçili yerin yazı tipi dialogtan seçilen yazı tipi olsun. richtextbox1.selectionfont = fd.font; // seçili yerin yazı rengi dialogtan seçilen yazı rengi olsun. richtextbox1.selectioncolor = fd.color; // Seçilen yazının tipini combobox tan ayarla private void cbyazitipi_selectedindexchanged(object sender, EventArgs e) try // büyüklük ve stil değişmeden sadece ismi combobox tan alarak değiştir sf = new Font(cbYaziTipi.Text, sf.size, sf.style); catch // Seçilen yazının büyüklüğünü combobox tan ayarla private void cbyazibuyuklugu_selectedindexchanged(object sender, EventArgs e) try // yazı tipi ve stil değişmeden sadece büyüklüğü combobox tan alarak değiştir sf = new Font(sf.FontFamily, float.parse(cbyazibuyuklugu.text), sf.style); catch // seçilen kısmın koyulaştırma değerini değiştir. eğer zaten koyu ise koyuluğu kaldır, değilse koyulaştır private void tsbbold_click(object sender, EventArgs e) // eğer zaten koyu ise koyuluğu stilden çıkar, değilse koyuluğu stile ekle sf = new Font(sf.FontFamily, sf.size, sf.bold? sf.style & ~FontStyle.Bold : sf.style FontStyle.Bold); // seçilen kısmın italik değerini değiştir.eğer zaten italik ise italikliği kaldır, değilse italik yapar private void tsbitalik_click(object sender, EventArgs e) // eğer zaten italik ise stilden italik kısmı çıkar, değilse stile italik ekle sf = new Font(sf.FontFamily, sf.size, sf.italic? sf.style & ~FontStyle.Italic : sf.style FontStyle.Italic); 5

// seçilen kısmın altını çizme değerini değiştir. eğer zaten altı çizili ise çizgiyi kaldır, değilse altını çizer private void tsbaltiniciz_click(object sender, EventArgs e) // eğer zaten altı çizi ise stilden kaldır, değilse altını çizi stile ekle sf = new Font(sf.FontFamily, sf.size, sf.underline? sf.style & ~FontStyle.Underline : sf.style FontStyle.Underline); // seçilen kısmın üstünü çizme değerini değiştir. eğer zaten üstü çizili ise çizgiyi kaldır, değilse üstünü çizer private void tsbustunuciz_click(object sender, EventArgs e) // eğer zaten üstü çizi ise üstü çizili seçeneğini stilden çıkar, değilse ekle sf = new Font(sf.FontFamily, sf.size, sf.strikeout? sf.style & ~FontStyle.Strikeout : sf.style FontStyle.Strikeout); // seçilen yazıdan tüm stilleri kaldırır. private void tsbstilsil_click(object sender, EventArgs e) // yeni stil olarak Regular (sadece düzenli demek) ata // yani koyu, italik, altı veya üstü çizili özellikleri kaldır sf = new Font(sf.FontFamily, sf.size, FontStyle.Regular); // seçilen yazının fontunu listeden bir büyütecek private void tsbfontbuyut_click(object sender, EventArgs e) if (cbyazibuyuklugu.selectedindex!= cbyazibuyuklugu.items.count - 1) cbyazibuyuklugu.selectedindex++; // seçilen yazının fontunu listeden bir küçültecek private void tsbfontkucult_click(object sender, EventArgs e) if (cbyazibuyuklugu.selectedindex!= 0) cbyazibuyuklugu.selectedindex--; // Seçilen yazını yazı rengini değiştirir private void tsbyazirengi_click(object sender, EventArgs e) // Renk seçme dialoğu oluşturuluyor ColorDialog cd = new ColorDialog(); // eğer ColorDialog (renk seçici) OK (tamam) ile kapatılmış ise renk seçilmiş demektir. // bu durumda seçili yazının yazı rengi dialogtan seçilen renk olacaktır. if (cd.showdialog() == DialogResult.OK) richtextbox1.selectioncolor = cd.color; // Seçilen yazını vurgu rengini değiştirir private void tsbvurgurengi_click(object sender, EventArgs e) // Renk seçme dialoğu oluşturuluyor ColorDialog cd = new ColorDialog(); // eğer ColorDialog (renk seçici) OK (tamam) ile kapatılmış ise renk seçilmiş demektir. // bu durumda seçili yazının vurgu rengi dialogtan seçilen renk olacaktır. if (cd.showdialog() == DialogResult.OK) richtextbox1.selectionbackcolor = cd.color; // metin kutusunun zemin rengini ayarlar private void tsbzeminrengi_click(object sender, EventArgs e) // Renk seçme dialoğu oluşturuluyor ColorDialog cd = new ColorDialog(); // eğer ColorDialog (renk seçici) OK (tamam) ile kapatılmış ise renk seçilmiş demektir. // bu durumda zemin rengi dialogtan seçilen renk olacaktır. if (cd.showdialog() == DialogResult.OK) richtextbox1.backcolor = cd.color; 6

// Seçilen yazıyı büyük harfe dönüştürür. private void tsbbuyukharf_click(object sender, EventArgs e) // seçilen yazı geçerli dilde BÜYÜK harfe dönüşecektir. richtextbox1.selectedtext = richtextbox1.selectedtext.toupper( System.Globalization.CultureInfo.CurrentCulture); // Seçilen yazıyı küçük harfe dönüştürür. private void tsbkucukharf_click(object sender, EventArgs e) // seçilen yazı geçerli dilde küçük harfe dönüşecektir. richtextbox1.selectedtext = richtextbox1.selectedtext.tolower( System.Globalization.CultureInfo.CurrentCulture); // Seçilen veya tıklanan paragrafa madde işareti koymaya kadırmaya yarar private void tsbmaddeisareti_click(object sender, EventArgs e) // tıklandığı zamana eğer zaten madde işareti varsa kaldıracak, yoksa koyacak richtextbox1.selectionbullet =!richtextbox1.selectionbullet; // Kelime kaydır işlemini gerçekleştirecek private void tsbkelimekaydir_click(object sender, EventArgs e) // eğer zaten kelime kaydır işlemi varsa ipatal edecek, yoksa devreye sokacak richtextbox1.wordwrap =!richtextbox1.wordwrap; // başlama değişkeni bul değiştir işlemleri için kullanılacak int baslama = 0; // bulma işlemi private void tsbbul_click(object sender, EventArgs e) // eğer arama için arma kutusuna herhangi birşey yazmadıysak işlem yapma if (txtbul.text.length == 0) return; // eğer aramak için birşeyler yazdıysak, başlama noktasından itibaren // girilen kelimeyi bulacak ve yeni başlama noktası bulunan kelime den sonra olacak baslama = richtextbox1.find(txtbul.text, baslama < 0? 0 : baslama, RichTextBoxFinds.None); baslama += txtbul.text.length; // değiştirme işlemi private void tsbdegistir_click(object sender, EventArgs e) // eğer arama için arma kutusuna herhangi birşey yazmadıysak işlem yapma if (txtbul.text.length == 0) return; // eğer aramak için birşeyler yazdıysak, başlama noktasından itibaren // girilen kelimeyi bulacak ve yeni başlama noktası bulunan kelime den sonra olacak baslama = richtextbox1.find(txtbul.text, baslama < 0? 0 : baslama, RichTextBoxFinds.None); baslama += txtbul.text.length; // eğer kelime bulunduysa değiştirilmek içn girilen kelime ile değiştir if (baslama > 0 && richtextbox1.selectedtext.length > 0) richtextbox1.selectedtext = txtdegistir.text; // eğer bir şey bulunmadıysa beep diye uyar. Console.Beep(); //Resim ekleme işlemi private void tsbresimekle_click(object sender, EventArgs e) // Resim açmak için dosya açma dialoğu oluşturuluyor OpenFileDialog ofd = new OpenFileDialog(); // açılacak dosya formatları için formatlar belirleniyor ofd.filter = "Resim Dosyaları *.bmp;*.jpg;*.jpeg;*.gif;*.png"; 7

// eğer dosya açma penceresinden resim seçilip tamam denildiyse if (ofd.showdialog() == DialogResult.OK) // resim dosyadan hafızaya yüklenecek, daha sonra yapıştırılacak Image resim = Image.FromFile(ofd.FileName); // resim nesnesi panoya alınıyor Clipboard.SetImage(resim); // Panodan seçili alana yapıştırılacak. richtextbox1.paste(); // seçilen yazıyı üst simge yapar private void tsbüstsimge_click(object sender, EventArgs e) // daha önce üst simge veya alt simge yapılmış ise normale döndür. if (richtextbox1.selectioncharoffset!= 0) richtextbox1.selectioncharoffset = 0; sf = new System.Drawing.Font(sf.FontFamily, 3 * (sf.size / 2)); // normal ise üst simge yap, bunun için yazı fontunu üçte iki büyüklüğüne indir sf = new System.Drawing.Font(sf.FontFamily, 2 * (sf.size / 3)); // ve yazı ofsetini (normal seviyeden yüksekliğini) yazı büyüklüğünün yarısı kadar yap. richtextbox1.selectioncharoffset = (int)richtextbox1.selectionfont.size / 2; // seçilen yazıyı üst simge yapar private void tsbaltsimge_click(object sender, EventArgs e) // daha önce üst simge veya alt simge yapılmış ise normale döndür. if (richtextbox1.selectioncharoffset!= 0) richtextbox1.selectioncharoffset = 0; sf = new System.Drawing.Font(sf.FontFamily, 3 * (sf.size / 2)); // normal ise alt simge yap, bunun için yazı fontunu üçte iki büyüklüğüne indir sf = new System.Drawing.Font(sf.FontFamily, 2 * (sf.size / 3)); // ve yazı ofsetini (normal seviyenin altına) yazı büyüklüğünün yarısı kadar yap. richtextbox1.selectioncharoffset = -(int)richtextbox1.selectionfont.size / 2; // seçilen paragrafın girintisini 10 pixel arttırır. private void tsbgirintiarrtır_click(object sender, EventArgs e) richtextbox1.selectionindent += 10; // seçilen paragrafın girintisini 10 pixel azaltır. private void tsbgirintiazalt_click(object sender, EventArgs e) richtextbox1.selectionindent -= 10; // seçilen yazının satır aralığını 1 yapar. private void lnsp1_click(object sender, EventArgs e) richtextbox1.selectioncharoffset = 0; lnsp1.checked = true; lnsp1_15.checked = lnsp1_5.checked = lnsp2.checked = false; 8

// seçilen yazının satır aralığını 1,15 yapar. private void lnsp1_15_click(object sender, EventArgs e) richtextbox1.selectioncharoffset = (int)(sf.size * 1.15f - sf.size); lnsp1_15.checked = true; lnsp1.checked = lnsp1_5.checked = lnsp2.checked = false; // seçilen yazının satır aralığını 1,5 yapar. private void lnsp1_5_click(object sender, EventArgs e) richtextbox1.selectioncharoffset = (int)(sf.size * 1.5f - sf.size); lnsp1_5.checked = true; lnsp1.checked = lnsp1_15.checked = lnsp2.checked = false; // seçilen yazının satır aralığını 2 yapar. private void lnsp2_click(object sender, EventArgs e) richtextbox1.selectioncharoffset = (int)(sf.size * 2.0f - sf.size); lnsp2.checked = true; lnsp1.checked = lnsp1_15.checked = lnsp1_5.checked = false; // dökümanı %10 yaklaştırır. private void tsbyakınlaştır_click(object sender, EventArgs e) richtextbox1.zoomfactor *= 1.1f; if (richtextbox1.zoomfactor > 5) richtextbox1.zoomfactor = 5; trb.value = (int)(richtextbox1.zoomfactor * 10); lblzoom.text = "%" + (richtextbox1.zoomfactor * 100); // dökümanı %10 uzaklaştırır. private void tsbuzaklaştır_click(object sender, EventArgs e) richtextbox1.zoomfactor /= 1.1f; if (richtextbox1.zoomfactor < 0.1f) richtextbox1.zoomfactor = 0.1f; trb.value = (int)(richtextbox1.zoomfactor * 10); lblzoom.text = "%" + (richtextbox1.zoomfactor * 100); // basılan tuşun durumunu günceller. [DllImport("User32.dll")] static extern short GetKeyState(int KeyKode); // basılan tuşun durumuna bak private void richtextbox1_keyup(object sender, KeyEventArgs e) lblcaps.text = Console.CapsLock? "CAPS" : ""; // büyük harf lblnum.text = Console.NumberLock? "NUM" : ""; // num lock if (GetKeyState((int)Keys.Insert) > 0) // insert lblins.text = "OVR"; lblins.text = "INS"; 9

// dökümanın zoom durumuna göre kaydırma çubuğunun yerini ayarla private void richtextbox1_contentsresized(object sender, ContentsResizedEventArgs e) trb.valuechanged -= new EventHandler(trb_ValueChanged); if (richtextbox1.zoomfactor > 5) richtextbox1.zoomfactor = 5; if (richtextbox1.zoomfactor < 0.1) richtextbox1.zoomfactor = 0.1f; trb.value = (int)(richtextbox1.zoomfactor * 10); lblzoom.text = "%" + (trb.value * 10); trb.valuechanged += new EventHandler(trb_ValueChanged); //============= SAĞ TIKLAMA MENÜSÜ İŞLEMLERİ ======================= // sağ tıklama -- geri alma işlemi : son değişikliği geri alır private void mngerial_click(object sender, EventArgs e) richtextbox1.undo(); // sağ tıklama -- yineleme işlemi : geri alınmış değişikliği yineler private void mnyinele_click(object sender, EventArgs e) richtextbox1.redo(); // sağ tıklama -- tümünü seçme işlemi private void mntumunusec_click(object sender, EventArgs e) richtextbox1.selectall(); // sağ tıklama -- seçileni siler private void mnsil_click(object sender, EventArgs e) richtextbox1.selectedtext = ""; // sağ tıklama -- kesme işlemi private void mnkes_click(object sender, EventArgs e) richtextbox1.cut(); // seçileni keser // sağ tıklama -- kopyalama işlemi private void mnkopyala_click(object sender, EventArgs e) richtextbox1.copy(); // sağ tıklama -- yineleme işlemi : yapıştırılacak birşey varsa yapıştırır. private void mnyapistir_click(object sender, EventArgs e) richtextbox1.paste(); 10