Basit Metin Editörü
Örnek
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp40
{
public partial class Form1 : Form
{
bool DegisiklikVar = false;
string KayitDosyasi = "";
public Form1()
{
InitializeComponent();
}
private void yeniToolStripMenuItem_Click(object sender, EventArgs e)
{
if (KayitliMi())
{
richTextBox1.Clear();
this.Text = "Not Defterim";
}
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
DegisiklikVar = true;
}
public bool KayitliMi()
{
if (DegisiklikVar)
{
DialogResult Pencere = MessageBox.Show(
"Dosyada değişiklikler var. Kaydetmek ister misiniz?",
"Uyarı",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Warning);
if(Pencere == DialogResult.Yes)
{
Kaydet();
return true;
}
return true;
}
else return true;
}
public void Kaydet()
{
if (KayitDosyasi != "")
{
richTextBox1.SaveFile(KayitDosyasi, RichTextBoxStreamType.RichText);
DegisiklikVar = false;
}
else
{
YeniKayit();
}
}
public void YeniKayit()
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Rich Text Files (*.rtf)|*.rtf|All Files (*.*)|*.*";
DialogResult cevap = sfd.ShowDialog();
if (cevap == DialogResult.OK)
{
KayitDosyasi = sfd.FileName;
richTextBox1.SaveFile(KayitDosyasi, RichTextBoxStreamType.RichText);
this.Text = "Not Defterim - " + sfd.FileName;
DegisiklikVar = false;
}
}
private void acToolStripMenuItem_Click(object sender, EventArgs e)
{
if(KayitliMi())
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Rich Text (*.rtf)|*.rtf|Tüm Dosyalar (*.*)|*.*";
openFileDialog.Title = "Dosya Aç";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
KayitDosyasi = openFileDialog.FileName;
string extension = Path.GetExtension(KayitDosyasi).ToLower();
if (extension == ".rtf")
{
richTextBox1.LoadFile(KayitDosyasi, RichTextBoxStreamType.RichText);
}
else
{
richTextBox1.Text = File.ReadAllText(KayitDosyasi);
}
this.Text = "Zengin Not Defteri - " + openFileDialog.FileName;
DegisiklikVar = false;
}
}
}
private void kaydetToolStripMenuItem_Click(object sender, EventArgs e)
{
Kaydet();
}
private void farklıKaydetToolStripMenuItem_Click(object sender, EventArgs e)
{
Kaydet();
}
private void çıkışToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void geriAlToolStripMenuItem_Click(object sender, EventArgs e)
{
if(richTextBox1.CanUndo) richTextBox1.Undo();
}
private void yenileToolStripMenuItem_Click(object sender, EventArgs e)
{
if(richTextBox1.CanRedo) richTextBox1.Redo();
}
private void kesToolStripMenuItem_Click(object sender, EventArgs e)
{
if(richTextBox1.SelectionLength > 0) richTextBox1.Cut();
}
private void kopyalaToolStripMenuItem_Click(object sender, EventArgs e)
{
if(richTextBox1.SelectionLength>0) richTextBox1.Copy();
}
private void yapıştırToolStripMenuItem_Click(object sender, EventArgs e)
{
if (Clipboard.ContainsText())
richTextBox1.Paste();
}
private void düzenToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectedText = "";
}
private void tümünüSeçToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll();
}
private void sözcükKaydırToolStripMenuItem_Click(object sender, EventArgs e)
{
if (sözcükKaydırToolStripMenuItem.Checked)
{
richTextBox1.WordWrap = true;
richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical;
}
else
{
richTextBox1.WordWrap = false;
richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;
}
// richTextBox1.WordWrap = sözcükKaydırToolStripMenuItem.Checked ? true : false;
}
private void Form1_Resize(object sender, EventArgs e)
{
richTextBox1.Width = this.Width;
richTextBox1.Height = this.Height;
}
private void yazıTipiToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog FD = new FontDialog();
FD.Font = richTextBox1.Font;
FD.ShowColor = true;
FD.Color = richTextBox1.ForeColor;
if (FD.ShowDialog() == DialogResult.OK)
{
if (richTextBox1.SelectionLength > 0)
{
//seçilenin fontunu ve rengini değiştirme
richTextBox1.SelectionColor = FD.Color;
richTextBox1.SelectionFont = FD.Font;
}
/*else
{
//tamamının fontunu ve rengini değiştirme
richTextBox1.Font = FD.Font;
richTextBox1.ForeColor = FD.Color;
}*/
}
}
private void zeminRengiToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog RP = new ColorDialog();
RP.Color = richTextBox1.BackColor;
if (RP.ShowDialog() == DialogResult.OK)
{
// Eğer yazı seçiliyse sadece seçili metni değiştir
if (richTextBox1.SelectionLength > 0)
{
//seçilenin zemin rengini değiştirme
richTextBox1.SelectionBackColor = RP.Color;
}
else
{
richTextBox1.BackColor = RP.Color;
}
}
}
}
}