1. Ana Sayfa
  2. Visual Studio C#
  3. Visual Studio C# Dersleri – C# İle Basit Not Defteri Yapımı

Visual Studio C# Dersleri – C# İle Basit Not Defteri Yapımı

notedefteri

C# ile basit bir şekilde not defteri uygulaması nasıl yapılır onunla ilgili uygulama yapacağız Form tasarımı için form üzerine bir textbox, toolstrip, statusstrip, colordialog, fontdialog, openfiledialog, savefiledialog nesneleri ekliyoruz programın çalışan versiyonu ve kodlarımız aşağıdadır..

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;

// dosya okuma ve kaydetme işlemleri için bunu eklememiz gerekiyor.
using System.IO;

namespace bilisimogretmeninotdefteri
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // form açılırken num lock, caps lock, hizalamalar
        // ve sözcük kaydırma durumlarını kontrol et.
        private void Form1_Load(object sender, EventArgs e)
        {
            lblNUM.Text = Console.NumberLock ? "NUM" : "";
            lblCAPS.Text = Console.CapsLock ? "CAPS" : "";

            btnKelimeKaydır.Checked = textBox1.WordWrap;
            btnGeriAl.Enabled = textBox1.CanUndo;
            btnYinele.Enabled = textBox1.CanUndo;

            btnSola.Checked = textBox1.TextAlign == HorizontalAlignment.Left;
            btnSaga.Checked = textBox1.TextAlign == HorizontalAlignment.Right;
            btnOrtala.Checked = textBox1.TextAlign == HorizontalAlignment.Center;

            btnKes.Enabled = textBox1.SelectedText.Length > 0;
            btnKopyala.Enabled = textBox1.SelectedText.Length > 0;
            btnYapıştır.Enabled = Clipboard.GetText().Length > 0;
        }

        // metin içeriği değiştiğinde geri alınabilirlik durumunu kontrol et.
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            btnGeriAl.Enabled = textBox1.CanUndo;
            btnYinele.Enabled = textBox1.CanUndo;
        }

        // seçili metni keser
        private void btnKes_Click(object sender, EventArgs e)
        {
            textBox1.Cut();
        }

        // seçili metni kopyalar
        private void btnKopyala_Click(object sender, EventArgs e)
        {
            textBox1.Copy();
        }

        // panodaki metni seçilen yere yapıştırır.
        private void btnYapıştır_Click(object sender, EventArgs e)
        {
            textBox1.Paste();
        }

        // son değişikliği geri alır.
        private void btnGeriAl_Click(object sender, EventArgs e)
        {
            textBox1.Undo();
        }

        // yineleme işlemi:
        // text box yapılan sadece bir değişikliği geri alabildiği için
        // yapılan değişikliği geri alma işlemini geri alır,
        // dolayısıyla önceki haline döner.
        private void btnYinele_Click(object sender, EventArgs e)
        {
            textBox1.Undo();
        }

        // seçili metin varsa kes, kopyala, yapıştır butonlarını kullanılabilir yap.
        private void textBox1_Click(object sender, EventArgs e)
        {
            btnKes.Enabled = textBox1.SelectionLength > 0;
            btnKopyala.Enabled = textBox1.SelectionLength > 0;
            btnYapıştır.Enabled = Clipboard.GetText().Length > 0;
        }

        // metni sola hizala
        private void btnSola_Click(object sender, EventArgs e)
        {
            textBox1.TextAlign = HorizontalAlignment.Left;

            btnSola.Checked = true;
            btnSaga.Checked = false;
            btnOrtala.Checked = false;
        }

        // metni ortaya hizala
        private void btnOrtala_Click(object sender, EventArgs e)
        {
            textBox1.TextAlign = HorizontalAlignment.Center;

            btnSola.Checked = false;
            btnSaga.Checked = false;
            btnOrtala.Checked = true;

        }

        // metni sağa hizala
        private void btnSaga_Click(object sender, EventArgs e)
        {
            textBox1.TextAlign = HorizontalAlignment.Right;

            btnSola.Checked = false;
            btnSaga.Checked = true;
            btnOrtala.Checked = false;

        }

        // sözcük kaydırı aktif/deaktif et
        private void btnKelimeKaydır_Click(object sender, EventArgs e)
        {
            textBox1.WordWrap = !textBox1.WordWrap;
            btnKelimeKaydır.Checked = textBox1.WordWrap;
        }

        // basılan keylere göre caps lock ve num lock durumlarını güncelle
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            lblCAPS.Text = Console.CapsLock ? "CAPS" : "";
            lblNUM.Text = Console.NumberLock ? "NUM" : "";
        }

        // yazı rengini ayarlamak için renk dialoğunu açar
        private void btnYazıRengi_Click(object sender, EventArgs e)
        {
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.ForeColor = colorDialog1.Color;
            }
        }

        // zemin rengini ayarlamak için renk dialoğunu açar
        private void btnZeminRengi_Click(object sender, EventArgs e)
        {
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.BackColor = colorDialog1.Color;
            }
        }

        // yazı tipini ayarlamak için yazı tipi diaolğunu açar.
        private void btnYaziTipi_Click(object sender, EventArgs e)
        {
            try
            {
                // dialoğun açılıştaki fontu metin kutusunun fontu olsun
                fontDialog1.Font = textBox1.Font;

                // yazı seçilip ok denildikten sonra yazı tipini metne uygula
                if (fontDialog1.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Font = fontDialog1.Font;
                    // seçilen rengi de yazı rengine uygula
                    textBox1.ForeColor = fontDialog1.Color;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        // yeni döküman
        private void btnYeni_Click(object sender, EventArgs e)
        {
            // kendisinin bir kopyasını çalıştırır.
            System.Diagnostics.Process.Start(Application.ProductName);
        }

        // dosya_adı değişkeni dosya açma kaydetme işlemlerinde kullanılacak
        string dosya_adı = null;

        // dosya açma işlemi
        private void btnAç_Click(object sender, EventArgs e)
        {
            // eğer dosya açma dialoğunda dosya seçilmiş ve tamam denilmiş ise
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                // dosya adı seçilen dosya olacak.
                dosya_adı = openFileDialog1.FileName;

                // seçilen dosya ile programımız arasına bir boru hattı açıyoruz
                StreamReader sr = new StreamReader(
                   openFileDialog1.FileName,
                   Encoding.GetEncoding(1254) // Türkçe dil kodu
                   );

                // borudan dosyayı sonuna kadar okuyoruz.
                textBox1.Text = sr.ReadToEnd();

                // sonra boruyu kapatıyoruz.
                sr.Close();

                // formun başlığına dosya adını ekliyoruz.
                this.Text = "BMYO Not Defteri [" + dosya_adı + "]";
            }
        }

        // farklı kaydetme işlemi
        private void farklıKaydetToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // eğer dosya açma dialoğunda dosya seçilmiş ve tamam denilmiş ise
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                // dosya adı seçilen dosya olacak.
                dosya_adı = saveFileDialog1.FileName;

                // kaydetme işlemine git
                btnKaydet_ButtonClick(null, null);
            }
        }

        // kaydetme işlemi
        private void btnKaydet_ButtonClick(object sender, EventArgs e)
        {
            // eğer ilk defa kaydetmek istiyorsak dosya adı için farklı kaydeti çalıştır
            if (dosya_adı == null)
            {
                // farklı kaydete git
                farklıKaydetToolStripMenuItem_Click(null, null);
            }
            else
            {
                // daha önce kaydetmiş isek elimizde zaten bir dosya adı var,
                // yapılan değişiklikler önceki dosyanın üzerine yazılacak.

                // programımız ile diskteki dosya arasına bir boru hattı açıyoruz.
                StreamWriter sw = new StreamWriter(
                   dosya_adı, false,
                   Encoding.GetEncoding(1254)); // Türkçe dil kodu

                // borudan tüm bilgiyi diskteki dosyaya akıtıyoruz.
                sw.Write(textBox1.Text);

                // sonra boruda kalan bilgiyi de silkeliyoruz.
                sw.Flush();

                // sonra boruyu kapatıyoruz.
                sw.Close();

                // formun başlığına dosya adını ekliyoruz.
                this.Text = "Bilişim Öğretmeni [" + dosya_adı + "]";
            }

        }
    }
}

İndir “C# Not Defteri Uygulaması” Bilisimlogretmeninotdefteri.zip – 2111 defa indirildi – 112 KB


Bartın Meslek Yüksek Okuluna Teşekkürler…
Yorum Yap
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

8 Yorum
Inline Feedbacks
View all comments
hasan

abi bana aç kapat yurut ledleri yapan program lazımn v eya geri ileri şeklinde

gokhan

benim sorum bambaşka olacak burada bazı komutlar var mesela
lblCAPS.Text = Console.CapsLock ? “CAPS” : “”;
lblNUM.Text = Console.NumberLock ? “NUM” : “”;

bunların bu işe yaradığını nasıl öğreniyorsunuz yani console.capslock komutunun büyük harfin açık olup olmadığını kontrol edeceği bilgisini nerden öğreniyorsunuz veya diğer kodların bilgi verirseniz sevinirim

Ahmet

abi merhaba ben c# yeniyim şunu yapamadım textboxın olayı bende textchanged oluyo click yapamıyorum abi yardımcı olurmusun

BilisimOgretmeni

formun üzerine bir buton ekleyip tasarım alanında butonun üzerine çift tıklamanız yeterli…

Emre

Merhabalar, Bana Şöyle Birşey Yapabilirmisiniz?

1) Text’e yazı yazılacak,
2) Bir Butona Basınca Bir Dosyaya Kaydedecek (Biz Seçmiyeceğiz Nereye Kaydeceğini)
3) Sonra Bir Butona Basınca Kaydettiğimiz Notu Açıcak.

Başka birşey Olmasın lütfen.

Furkan Ççelik

Emre dostum tamda benim yapmak istediğim şeyi anlattın.

Burak

Emeğinize sağlık çok güzel olmuş

BilisimOgretmeni

rica ederiz iyi çalışmalar