Friday, 24 August 2012

Notepad in c#


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace notpad
{   
    public partial class Form1 : Form   
    {       
        public SaveFileDialog sfd;//instance of savefiledialog to save files       
        public OpenFileDialog ofd;//instance of openfiledialog to open files       
        public int index;
        #region "Constructor"       
        public Form1()//initialization in Constructor       
        {           
            InitializeComponent();           
            sfd = new SaveFileDialog();           
            ofd = new OpenFileDialog();           
            this.Text = "Untitled-Digital Diary";            
            richTextBox1.TabIndex = 5;           
            undoToolStripMenuItem.Enabled = false;           
            richTextBox1.Focus();       
        }       
#endregion
        #region "Menu Item"       
        private void newToolStripMenuItem_Click(object sender, EventArgs e)       
        {           
            sfd.Title = "Save";           
            DialogResult dr = MessageBox.Show("Do you want to save the file""save", MessageBoxButtons.YesNo, MessageBoxIcon.Question);           
            if (dr.Equals(DialogResult.Yes))//statement that execute when user click on yes button           
            {               
                SaveFile();//calling user defined function SaveFile function               
                //richTextBox1.Clear();               
                //this.Text = "Untitled-Digital Diary";           
            }           
            else if (dr.Equals(DialogResult.No))//statament that execute when user click on no button of dialog           
            {               
                richTextBox1.Clear();               
                this.Text = "Untitled-Digital Diary";           
            }
        }

        private void saveToolStripMenuItem_Click(object sender, EventArgs e)      
        {           
            SaveFile();//calling SaveFile user defined fucntion       
        }             
        private void openToolStripMenuItem_Click(object sender, EventArgs e)  
        {          
            if (richTextBox1.Modified == true)//checking either richtext box have entered value or not     
            {             
                DialogResult dr = MessageBox.Show("Do you want to save changes to the opened file","unsaved document", MessageBoxButtons.YesNo, MessageBoxIcon.Question);  
                if (dr == DialogResult.No)             
                {                  
                   
                    richTextBox1.Modified = false;               
                    OpenFile();//calling OpenFile user defined function              
                } 
                    else         
                {                  
                    if (this.Text == "Untitled-Digital Diary")//checking form Title to Untitled-Digital Diary      
                    {                      
                        ///Calling SaveFile and OpenFile user defined functions     
                        SaveFile();                      
                        OpenFile();
                    }                  
                    else               
                    {
                        DialogResult dr1 = MessageBox.Show("the text in the file has been changed.Do you want to save the changes""Open", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (dr1 == DialogResult.Yes)          
                        {
                            richTextBox1.SaveFile(this.Text);    
                            OpenFile();             
                        }              
                        else           
                        {             
                            OpenFile();   
                        }                 
                    }
                }          
            }          
            else        
            {           
                OpenFile();   
            }
        }
        private void exitToolStripMenuItem_Click(object sender, EventArgs e) 
        {          
            //statement that execute on click of exit button   
            //and chekcing whether textbox modified or not if modified          
            //then prompt user to save or not          
            if (richTextBox1.Modified == true)        
            {
                DialogResult dr = MessageBox.Show("Do you want to save the file before exiting","unsaved file", MessageBoxButtons.YesNo, MessageBoxIcon.Question);         
                if (dr == DialogResult.Yes) 
                {                  
                    SaveFile();
                    richTextBox1.Modified = false;
                    Application.Exit();    
                }              
                else            
                {              
                    richTextBox1.Modified = false;        
                    Application.Exit();
                }           
            }       
        }

        private void toolStripButton1_Click(object sender, EventArgs e)  
        {          
            //calling SaveFile function           
            SaveFile();      
        }
        private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)   
        {          
            sfd.Title = "Save As";         
            sfd.Filter = "Text Document|*.txt";       
            sfd.DefaultExt = "txt";        
            sfd.ShowDialog();             
           
            richTextBox1.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);    
            this.Text = sfd.FileName;
        }
        private void cutToolStripMenuItem_Click(object sender, EventArgs e)
        {           
            //performs Cut operation in richTextBox           
            richTextBox1.Cut();
        }
        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)    
        {         
            //perform paste operation in richtextbox       
            richTextBox1.Paste();      
        }
        private void copyToolStripMenuItem_Click(object sender, EventArgs e)     
        {           
            //perform copy operation        
            richTextBox1.Copy();     
        }
        private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //selecting all content or text in richtextbox   
            richTextBox1.SelectAll();      
        }
        private void undoToolStripMenuItem_Click(object sender, EventArgs e) 
        {            //performs undo operation and checking user can undo or not        
            if (richTextBox1.CanUndo)          
            {
                richTextBox1.Undo();     
            }
        }
        private void redoToolStripMenuItem_Click(object sender, EventArgs e) 
        {         
            //Redo          
            statusStrip1.Text = "used to redo last changed text";   
            if (richTextBox1.CanRedo)         
            {
                richTextBox1.Redo();    
            }      
        }
        private void timeDateToolStripMenuItem_Click(object sender, EventArgs e) 
        {         
            //putting or inserting current date time in richtextbox      
            richTextBox1.Text += Convert.ToString(DateTime.Now);    
        }
        private void findToolStripMenuItem_Click(object sender, EventArgs e)  
        {          
            //calling and creating instance of findform and to search values       
            findform findob = new findform(this);         
            findob.Show();      
        }
        private void fontToolStripMenuItem_Click(object sender, EventArgs e) 
        {           
            //setting richtextbox text font and color        
            FontDialog fd = new FontDialog();          
            fd.Font = richTextBox1.SelectionFont;    
            fd.Color = richTextBox1.SelectionColor;        
            if (fd.ShowDialog() == DialogResult.OK)      
            {                
                richTextBox1.SelectionFont = fd.Font;   
                richTextBox1.SelectionColor = fd.Color; 
            }
        }
        private void wordWrapToolStripMenuItem_Click(object sender, EventArgs e)
        {          
            //performing wordwrap operation         
            if (wordWrapToolStripMenuItem.Checked == false)    
            {
                wordWrapToolStripMenuItem.Checked = true;      
                richTextBox1.WordWrap = true;
            }         
            else          
            {             
                wordWrapToolStripMenuItem.Checked = false;          
                richTextBox1.WordWrap = false;
            }
        }     
        private void toolStripTextBox1_Click(object sender, EventArgs e)    
        {         
            Gotoform gob = new Gotoform(this);      
            gob.Show();
        }      
        private void statusBarToolStripMenuItem_Click(object sender, EventArgs e)    
        {            //statuslabel1.Text = "Cols " + richTextBox1.Text.Length;      
        }
        private void findNextToolStripMenuItem_Click(object sender, EventArgs e)  
        {          
            findform f = new findform(this);       
            f.Show();
        }
        private void replaceToolStripMenuItem_Click(object sender, EventArgs e)   
        {           
            replaceform ob = new replaceform(this);   
            ob.Show();
        }       
        private void addBulletToolStripMenuItem_Click(object sender, EventArgs e)    
        {           
            //putting bullets into richtextbox        
            try       
            {            
                richTextBox1.BulletIndent = 10;
                richTextBox1.SelectionBullet = true;      
            }        
            catch (Exception ex)      
            {              
                MessageBox.Show(ex.Message.ToString(), "Error"); 
            }
        }
        private void removeBulletToolStripMenuItem_Click(object sender, EventArgs e)
        {          
            //removing bullets        
            try       
            {             
                richTextBox1.SelectionBullet = false;
            }
            catch (Exception ex)   
            {            
                MessageBox.Show(ex.Message.ToString(), "Error");
            }     
        }
        private void leftIndentationToolStripMenuItem_Click(object sender, EventArgs e)
        {          
            //setting alignment of text into richtextbox
            try         
            {           
                richTextBox1.SelectionAlignment = HorizontalAlignment.Left;  
            }         
            catch (Exception ex1) 
            {              
                MessageBox.Show(ex1.Message.ToString());       
            }
        }
        private void centerIntendationToolStripMenuItem_Click(object sender, EventArgs e)    
        {         
            try    
            {              
                richTextBox1.SelectionAlignment = HorizontalAlignment.Center;  
            }       
            catch (Exception ex1)  
            {             
                MessageBox.Show(ex1.Message.ToString());     
            }      
        }
        private void rightIntendationToolStripMenuItem_Click(object sender, EventArgs e)
        {          
            try    
            {            
                richTextBox1.SelectionAlignment = HorizontalAlignment.Right;   
            }          
            catch (Exception ex1)  
            {             
                MessageBox.Show(ex1.Message.ToString()); 
            }      
        }

        private void backGroundColorToolStripMenuItem_Click(object sender, EventArgs e)
        {          
            //setting background color of richtextbox  
            ColorDialog cr = new ColorDialog();     
            if (cr.ShowDialog() == DialogResult.OK)        
            {             
                richTextBox1.BackColor = cr.Color;
            }
        }
        private void toolStripTextBox2_Click(object sender, EventArgs e)
        {          
            richTextBox1.SelectedText = "";
        }
        private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
        {           
            AboutBox1 ab = new AboutBox1();     
            ab.ShowDialog();      
       
        }
        #endregion     
#region "Function To Save File"    
        private void SaveFile()   
        {
            //setting title of savefiledialog to Save As  
            sfd.Title = "Save As";         
            sfd.Filter = "Text Document|*.txt";//applied filter       
            sfd.DefaultExt = "txt";//applied default extension    
            if (sfd.ShowDialog() == DialogResult.OK)   
            {                               
                // if (this.Text!= "Untitled-Digital Diary")   
                {
                    //    richTextBox1.SaveFile(this.Text, RichTextBoxStreamType.PlainText); 
                    //
                }
                  //  else if(this.Text=="Untitled-Digital Diary")       
                //
                {             
                    richTextBox1.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText); 
                    this.Text = sfd.FileName;           
                    // }               
            }      
            }      
#endregion     
#region "User Defined Function to Open File" 
            private void OpenFile()     
            {          
                //putting title of openfiledialog to Open Document      
                ofd.Title = "Open Document";    
                //ofd.DefaultExt = "txt";     
                ofd.Filter = "Text Files|*.txt";//appliing filter   
                ofd.FileName = string.Empty;//setting filename box to blank       
                if (ofd.ShowDialog() == DialogResult.OK)     
                {            
                    if (ofd.FileName == String.Empty)           
                    {                  
                        return;           
                    }             
                    else          
                    {              
                        //reading or loading selected file into richtextbox      
                        string str = ofd.FileName;            
                        richTextBox1.LoadFile(str,RichTextBoxStreamType.PlainText); 
                        this.Text =ofd.FileName;              
                    }        
                }
        }      
#endregion              
        //reading line and col number in richtextbox to statusstrip      
        private void richTextBox1_TextChanged(object sender, EventArgs e)      
        {          
            undoToolStripMenuItem.Enabled = true;        
            statuslabel1.Text = "Line: " + (richTextBox1.GetLineFromCharIndex(Int32.MaxValue)+1) +"   Cols: " + richTextBox1.Text.Length;     
        }                    
#region "Printing"    
        private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) 
        {
            printPreviewDialog1.Document = printDocument1;           
            printPreviewDialog1.ShowDialog();
        }
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
           
            printDialog1.Document = printDocument1;
            if (printDialog1.ShowDialog() == DialogResult.OK)      
            {            
                printDocument1.Print();      
            }             
        }
        private void pageSetUPToolStripMenuItem_Click(object sender, EventArgs e) 
        {           
            pageSetupDialog1.Document = printDocument1;  
            pageSetupDialog1.ShowDialog();
        }
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
        {          
            e.Graphics.DrawString(richTextBox1.Text, richTextBox1.Font, Brushes.Black, 100, 100);    
        }
#endregion
#region "Function For GoTo"      
        public  void Goto(int line)//Goto line function to navigate user to line number   
        {           
            index = richTextBox1.GetFirstCharIndexFromLine(line - 1);        
            richTextBox1.Select(index, 0);        
            richTextBox1.Focus();
        }
#endregion
#region "Function For FindNext"      
        public void FindNext(string str)//user defind function for Findig value into ichtextbox      
            //and perform search operaiton     
        {         
           
            try      
            {
               // int result = richTextBox1.Find(str, index, str.Length, RichTextBoxFinds.WholeWord);
                if (index== -1)              
                {                 
                    MessageBox.Show("Word Search Complete");    
                }
                else           
                {        
                    int starting = richTextBox1.Text.IndexOf(str, index);          
                    richTextBox1.Select(starting, str.Length);             
                    richTextBox1.Focus();               
                    index = starting+ str.Length;          
                }           
            }           
            catch (SystemException s)
            {              
                MessageBox.Show(s.Message.ToString(),"Error message");
            }
        }      
#endregion
#region "Standard ToolBar Event"
        private void toolStripButton6_Click(object sender, EventArgs e)  
        {           
            newToolStripMenuItem_Click(this, e);   
        }
        private void toolStripButton5_Click(object sender, EventArgs e)
        {           
            openToolStripMenuItem_Click(this, e);
        }
        private void printPreviewToolStripMenuItem1_Click(object sender, EventArgs e)
        {          
            printPreviewToolStripMenuItem_Click(this, e);
        }
        private void pageSetUPToolStripMenuItem1_Click(object sender, EventArgs e)
        {            pageSetUPToolStripMenuItem_Click(this, e);
        }
        private void toolStripButton4_Click(object sender, EventArgs e) 
        {            exitToolStripMenuItem_Click(this, e); 
        }              
        private void toolStripButton2_Click(object sender, EventArgs e) 
        {           
            backGroundColorToolStripMenuItem_Click(this, e);    
        }
        private void toolStripButton3_Click(object sender, EventArgs e) 
        {          
            fontToolStripMenuItem_Click(this, e); 
        }
        private void toolStripButton7_Click(object sender, EventArgs e)  
        {         
            addBulletToolStripMenuItem_Click(this, e);     
        }       
        private void toolStripButton8_Click(object sender, EventArgs e)
        {         
            cutToolStripMenuItem_Click(this, e);   
        }
        private void toolStripButton9_Click(object sender, EventArgs e) 
        {           
            copyToolStripMenuItem_Click(this, e);
        }
        private void toolStripButton10_Click(object sender, EventArgs e)  
        {          
            pasteToolStripMenuItem_Click(this, e);      
        }
#endregion
        private void Form1_Load(object sender, EventArgs e)   
        {
        }
  }