Prosty edytor tekstów

Kolejnym przykładowym programem, który napiszemy, będzie prosty edytor tekstu. W naszym edytorze wykorzystamy wiele poznanych dotychczas komponentów. Przedstawiony zostanie także przykład drukowania oraz podglądu wydruku. Utwórz nowy projekt Aplikacja Windows Forms i nadaj mu nazwę notatnik.

  1. Na formatce umieść następujące komponenty: TextEdit, menuStrip, statusStrip, openFileDialog, saveFileDialog, fontDialog, printDialog, printDocument, printPreviewDialog.
  2. Korzystając z poprzednich lekcji, zaprogramuj notatnik wykorzystując jako pomoc zamieszczony kod źródowy.

notatnik1

Kod źródłowy:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;


using System.Drawing.Printing;

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

        private void nowyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
        }

        private void zakońToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void otwórzToolStripMenuItem_Click(object sender, EventArgs e)
        {
     string nazwaPliku;
     openFileDialog1.Filter = "Dokument tekstowy|*.txt|Wszystkie pliki (*.*)|*.*";
            openFileDialog1.ShowDialog();
  
          if (File.Exists(openFileDialog1.FileName))
            {
                nazwaPliku = openFileDialog1.FileName;
                StreamReader czytaj = new StreamReader(nazwaPliku);
                textBox1.Text = czytaj.ReadToEnd();
                czytaj.Close();
                this.Text = nazwaPliku;
            }
        }

        private void zapiszJakoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ZapiszJako();
        }
        
private void ZapiszJako()
        {
     saveFileDialog1.Filter = "Dokument tekstowy|*.txt|Wszystkie pliki (*.*)|*.*";
      DialogResult _saveFileDialog = saveFileDialog1.ShowDialog();

            if (_saveFileDialog == DialogResult.OK)
            {
                string nazwaPliku = saveFileDialog1.FileName;
                StreamWriter zapisz = new StreamWriter(nazwaPliku);
                zapisz.Write(textBox1.Text);
                zapisz.Close();
                this.Text = nazwaPliku;
                toolStripStatusLabel1.Text = "";
            }
        }


        private void wytnijToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Cut();
        }

        private void kopijToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Copy();
        }

        private void wklejToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Paste();
        }

        private void czcionkaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FontDialog _fontDialog1 = new FontDialog();
            _fontDialog1.ShowColor = true;
            if (_fontDialog1.ShowDialog() != DialogResult.Cancel)
            {
                textBox1.Font = _fontDialog1.Font;
                textBox1.ForeColor = _fontDialog1.Color;
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
DialogResult result = MessageBox.Show("Czy przed zamknięciem okna chcesz dokonać zmian?nn Naciśnij 'Tak' aby zachować n Naciśnij 'Nie' aby nie wprowadzać zmian n Naciśnij 'Anuluj' aby anulować.", "Wybierz opcję", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3);
            if (result == DialogResult.Yes)
            {
                ZapiszJako();
            }
            else if (result == DialogResult.No)
            {
                //Nie wychodź z programu
            }
            else 
            {
                e.Cancel = true;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "Zmodyfikowane";
        }

        private void drukujToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (printDialog1.ShowDialog() == DialogResult.OK)
            {
                printDocument1.Print();
            }
        }

        private void ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.ShowDialog();
        }

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            Graphics _g = e.Graphics;
    _g.DrawString(textBox1.Text, new Font("Arial", 10), new SolidBrush(Color.Black), 40, 40);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
   }
}

333total visits,1visits today

Tagi , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

86 + = 90

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