وب آکادمی

مرجع آموزش طراحی و برنامه نویسی وب

ساخت ویرایشگر متنی با سی شارپ شبیه نوت پد

دسته بندی:مجموعه پروژه سی شارپ تاریخ انتشار: 3 آبان 1397 برچسب ها : برچسب‌ها:,

ویرایشگر متنی با امکان بازکردن فایل، ذخیره فایل عملیات ویرایشی و تغییرات ظاهری

ویرایشگر متنی دارای امکانات برای بازکردن فایل، ذخیره فایل با نام قبلی و با نام جدید، کپی ، انتقال و حذف متن، تغییر رنگ پس زمینه و متن و … می باشد. در زیر شمای کلی آن نشان داده شده است .
در ادامه کد آن را می بینید .
Form1.cs

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;
using System.IO;
namespace classes
{
public partial class Form1 : Form
{
string fname = ""; // متغیر برای نگهداری مسیر و نام فایل جاری
public Form1()
{
InitializeComponent();
}
private void mnuNew_Click(object sender, EventArgs e)
{
t1.Text = "";
fname = "";
}
private void tolCut_Click(object sender, EventArgs e)
{
t1.Cut();
}
private void tolCopy_Click(object sender, EventArgs e)
{
t1.Copy();
}
private void tolPaste_Click(object sender, EventArgs e)
{
t1.Paste();
}
private void mnuOpen_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog()
== DialogResult.OK)
{
fname = openFileDialog1.FileName;
t1.Text = File.ReadAllText(fname);
}
}
private void mnuSave_Click(object sender, EventArgs e)
{
File.WriteAllText(fname, t1.Text);
}
private void mnuSaveAs_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog()
== DialogResult.OK)
{
fname = saveFileDialog1.FileName;
File.WriteAllText(fname, t1.Text);
}
}
private void mnuExit_Click(object sender, EventArgs e)
{
if(MessageBox.Show("برای خروج مطمئن هستید؟", "هشدار",MessageBoxButtons.YesNo , MessageBoxIcon.Question)==DialogResult.Yes)
Close();
}
private void mnuBG_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
t1.BackColor = colorDialog1.Color;
}
private void mnuFont_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK)
t1.Font = fontDialog1.Font;
}
private void mnuFC_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
t1.ForeColor = colorDialog1.Color;
}
}
}

در ادامه به توضیح کدهای آن می پردازیم:
تعریف متغیر عضو کلاس برای نگهداری نام و مسیر فایل باز شده:
 string fname = “”;
هنگام کلیک روی دکمه “جدید” نام فایل و جعبه متن خالی می شوند:
 t1.Text = “”;
 fname = “”;
کات کردن متن انتخاب شده در حافظه موقت:
t1.Cut();
کپی کرده متن انتخاب شده در حافظه کلیپ بورد:
t1.Copy();
درج متن از حافظه موقت:
t1.Paste();
باز کردن فایل با انتخاب فایل از کادر محاوری اوپن:
if (openFileDialog1.ShowDialog()
                           == DialogResult.OK)
            {
                fname = openFileDialog1.FileName;
                t1.Text = File.ReadAllText(fname);
            }
ذخیره کردن تغییرات در فایل با نام فعلی:
File.WriteAllText(fname, t1.Text);
ذخیره کردن تغییرات در فایل با نام جدید:
 if (saveFileDialog1.ShowDialog()
                                == DialogResult.OK)
            {
                fname = saveFileDialog1.FileName;
                File.WriteAllText(fname, t1.Text);
            }
خروج از برنامه پس از تائید کاربر:
  if(MessageBox.Show(“برای خروج مطمئن هستید؟”, “هشدار”,MessageBoxButtons.YesNo , MessageBoxIcon.Question)==DialogResult.Yes)
            Close();
تغییر رنگ پس زمینه:
            if (colorDialog1.ShowDialog() == DialogResult.OK)
                t1.BackColor = colorDialog1.Color;
تغییر رنگ متن:
            if (colorDialog1.ShowDialog() == DialogResult.OK)
                t1.ForeColor = colorDialog1.Color;
تغییر فونت:
            if (fontDialog1.ShowDialog() == DialogResult.OK)
                t1.Font = fontDialog1.Font;

2 پاسخ به “ساخت ویرایشگر متنی با سی شارپ شبیه نوت پد”

  1. aref گفت:

    ببخشید تو این برنامهfname یعنی چی؟؟؟

    • محمدی گفت:

      سلام
      fname متغیری هست که آدرس و نام فایل رو نگهداری می کنه. مسیر و نام فایلی که متن رو در آن ذخیره کردید یا مسیر و نام فایلی برای ویرایش باز کرده اید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

15 − نه =