RichTextBox.SelectionLength : RichTextBox « System.Windows.Forms « C# / C Sharp by API

Home
C# / C Sharp by API
1.Microsoft.Win32
2.System
3.System.Collections
4.System.Collections.Generic
5.System.Collections.Specialized
6.System.ComponentModel
7.System.Configuration
8.System.Data
9.System.Data.Common
10.System.Data.Linq
11.System.Data.Odbc
12.System.Data.OleDb
13.System.Data.Sql
14.System.Data.SqlClient
15.System.Diagnostics
16.System.DirectoryServices
17.System.Drawing
18.System.Drawing.Drawing2D
19.System.Drawing.Imaging
20.System.Drawing.Printing
21.System.Drawing.Text
22.System.EnterpriseServices
23.System.Globalization
24.System.IO
25.System.IO.Compression
26.System.IO.IsolatedStorage
27.System.IO.Ports
28.System.Linq
29.System.Management
30.System.Media
31.System.Messaging
32.System.Net
33.System.Net.Mail
34.System.Net.NetworkInformation
35.System.Net.Sockets
36.System.Reflection
37.System.Resources
38.System.Runtime
39.System.Runtime.CompilerServices
40.System.Runtime.InteropServices
41.System.Runtime.Remoting
42.System.Runtime.Remoting.Channels
43.System.Runtime.Remoting.Channels.Http
44.System.Runtime.Remoting.Messaging
45.System.Runtime.Serialization
46.System.Runtime.Serialization.Formatters.Binary
47.System.Runtime.Serialization.Formatters.Soap
48.System.Security
49.System.Security.AccessControl
50.System.Security.Cryptography
51.System.Security.Cryptography.X509Certificates
52.System.Security.Permissions
53.System.Security.Policy
54.System.Security.Principal
55.System.ServiceProcess
56.System.Text
57.System.Text.RegularExpressions
58.System.Threading
59.System.Timers
60.System.Web.Security
61.System.Web.Services
62.System.Windows.Controls
63.System.Windows.Forms
64.System.Xml
65.System.Xml.Linq
66.System.Xml.Schema
67.System.Xml.Serialization
68.System.Xml.XPath
69.System.Xml.Xsl
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp by API » System.Windows.Forms » RichTextBox 
RichTextBox.SelectionLength
  

using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;

public class RichTextBoxes : Form
{
  RichTextBox rtxt;

  public RichTextBoxes()
  {
    Size = new Size(400500);
               
    rtxt = new RichTextBox();
    rtxt.Parent = this;
    rtxt.Text = "Enter text here.";
    rtxt.Multiline = true;
    rtxt.BorderStyle = BorderStyle.Fixed3D;
    rtxt.ScrollBars = RichTextBoxScrollBars.ForcedBoth;  
    rtxt.Dock = DockStyle.Fill;
    rtxt.DetectUrls = true;       
    rtxt.AutoWordSelection = true;  
    rtxt.BulletIndent = 10;
    rtxt.ShowSelectionMargin = true;

    MenuItem mnuImport = new MenuItem("&Import",new EventHandler(mnuImport_Click));
    MenuItem mnuFile = new MenuItem("&File",new MenuItem[] {mnuImport});

    MenuItem mnuDash1 = new MenuItem("-");
    MenuItem mnuDash2 = new MenuItem("-");
    MenuItem mnuUndo = new MenuItem("&Undo",new EventHandler(mnuUndo_Click),Shortcut.CtrlZ);
    MenuItem mnuCut = new MenuItem("Cu&t",  new EventHandler(mnuCut_Click),  Shortcut.CtrlX);
    MenuItem mnuCopy = new MenuItem("&Copy",new EventHandler(mnuCopy_Click),Shortcut.CtrlC);
    MenuItem mnuCopyRtf = new MenuItem("Copy &Rtf",  new EventHandler(mnuCopyRtf_Click));
    MenuItem mnuPaste = new MenuItem("&Paste",new EventHandler(mnuPaste_Click),Shortcut.CtrlV);
    MenuItem mnuDelete = new MenuItem("&Delete",new EventHandler(mnuDelete_Click));
    MenuItem mnuSelectAll = new MenuItem("Select &All",  new EventHandler(mnuSelectAll_Click),Shortcut.CtrlA);
    MenuItem mnuSelect5 = new MenuItem("Select First &5",new EventHandler(mnuSelect5_Click),Shortcut.Ctrl5);
    MenuItem mnuClear = new MenuItem("Clea&r",new EventHandler(mnuClear_Click));
    MenuItem mnuEdit = new MenuItem("&Edit",new MenuItem[] {mnuUndo, mnuDash1, 
                    mnuCut, mnuCopy, mnuCopyRtf, mnuPaste, 
                    mnuDelete, mnuDash2, mnuSelectAll, 
                    mnuSelect5, mnuClear});

    MenuItem mnuScrollToCaret = new MenuItem("&Scroll to Caret",new EventHandler(mnuScrollToCaret_Click));
    MenuItem mnuView = new MenuItem("&View",new MenuItem[] {mnuScrollToCaret});
    
    MenuItem mnuAlignLeft = new MenuItem("Align&Left",new EventHandler(mnuAlignLeft_Click));
    MenuItem mnuAlignRight = new MenuItem("Align&Right",new EventHandler(mnuAlignRight_Click));
    MenuItem mnuAlignCenter = new MenuItem("Align&Center",new EventHandler(mnuAlignCenter_Click));

    MenuItem mnuBullet = new MenuItem("&Bullet",new EventHandler(mnuBullet_Click));
    MenuItem mnuAlign = new MenuItem("&Align",new MenuItem[] {mnuAlignLeft, mnuAlignRight, mnuAlignCenter});
    MenuItem mnuRed = new MenuItem("&Red",new EventHandler(mnuRed_Click));
    MenuItem mnuBold = new MenuItem("Bo&ld",new EventHandler(mnuBold_Click));
    MenuItem mnuHang = new MenuItem("&Hanging Indent",new EventHandler(mnuHang_Click));
    MenuItem mnuIndent = new MenuItem("&Indent",new EventHandler(mnuIndent_Click));
    MenuItem mnuRightIndent = new MenuItem("&Right Indent",  new EventHandler(mnuRightIndent_Click));
    MenuItem mnuFormat = new MenuItem("For&mat",new MenuItem[] {mnuBullet, mnuAlign, 
                    mnuRed, mnuBold, mnuHang, mnuIndent, 
                    mnuRightIndent});

    Menu = new MainMenu(new MenuItem[] {mnuFile, mnuEdit, 
                    mnuView, mnuFormat});

  }
  static void Main() 
  {
    Application.Run(new RichTextBoxes());
  }

  private void mnuImport_Click(object sender, EventArgs e)
  {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.InitialDirectory = @"c:\";
    ofd.Filter = "RTF files (*.rtf)|*.rtf|" +
                 "All files (*.*)|*.*";
    ofd.FilterIndex = 1;              //  1 based index
    
    if (ofd.ShowDialog() == DialogResult.OK)
    {
      try
      {
        StreamReader reader = new StreamReader(ofd.FileName);
        rtxt.Rtf = reader.ReadToEnd();
        reader.Close();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message);
        return;
      }
    }
  }

  private void mnuUndo_Click(object sender, EventArgs e)
  {
    if (rtxt.CanUndo == true)
    {
      rtxt.Undo();
      rtxt.ClearUndo();
    }
  }

  private void mnuCut_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectedText != "")
      rtxt.Cut();
  }

  private void mnuCopy_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionLength > 0)
      rtxt.Copy();
  }

  private void mnuCopyRtf_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionLength > 0)
    {
      Clipboard.SetDataObject(rtxt.SelectedRtf);
    }
  }

  private void mnuPaste_Click(object sender, EventArgs e)
  {
    if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true)
    {
      if (rtxt.CanUndo == true)
      {
        if (rtxt.SelectionLength > 0)
        {
          if (MessageBox.Show(
            "Do you want to overwrite the currently selected text?", 
            "Cut & Paste", MessageBoxButtons.YesNo) == DialogResult.No)
            rtxt.SelectionStart = rtxt.SelectionStart + 
                                  rtxt.SelectionLength;
        }
        rtxt.Paste();
      }
    }
  }

  private void mnuDelete_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionLength > 0)
      rtxt.SelectedText = "";
  }

  private void mnuClear_Click(object sender, EventArgs e)
  {
    rtxt.Clear();
  }


  private void mnuSelect5_Click(object sender, EventArgs e)
  {
    if (rtxt.Text.Length >= 5)
    {
      rtxt.Select(0,5);
    }
    else
    {
      rtxt.Select(0,rtxt.Text.Length);
    }
  }

  private void mnuSelectAll_Click(object sender, EventArgs e)
  {
    rtxt.SelectAll();
  }

  private void mnuScrollToCaret_Click(object sender, EventArgs e)
  {
    rtxt.ScrollToCaret();
  }

  private void mnuBullet_Click(object sender, EventArgs e)
  {
    rtxt.SelectionBullet = !rtxt.SelectionBullet;
  }

  private void mnuAlignLeft_Click(object sender, EventArgs e)
  {
    rtxt.SelectionAlignment = HorizontalAlignment.Left;
  }

  private void mnuAlignRight_Click(object sender, EventArgs e)
  {
    rtxt.SelectionAlignment = HorizontalAlignment.Right;
  }

  private void mnuAlignCenter_Click(object sender, EventArgs e)
  {
    rtxt.SelectionAlignment = HorizontalAlignment.Center;
  }

  private void mnuRed_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionColor == Color.Red)
      rtxt.SelectionColor = Color.Black;
    else
      rtxt.SelectionColor = Color.Red;
  }

  private void mnuBold_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionFont.Bold )
      rtxt.SelectionFont = new Font(rtxt.SelectionFont, FontStyle.Regular);
    else
      rtxt.SelectionFont = new Font(rtxt.SelectionFont, FontStyle.Bold);
  }

  private void mnuHang_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionHangingIndent == 10 )
      rtxt.SelectionHangingIndent = 0;
    else
      rtxt.SelectionHangingIndent = 10;
  }

  private void mnuIndent_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionIndent == 10 )
      rtxt.SelectionIndent = 0;
    else
      rtxt.SelectionIndent = 10;
  }

  private void mnuRightIndent_Click(object sender, EventArgs e)
  {
    if (rtxt.SelectionRightIndent == 50 )
      rtxt.SelectionRightIndent = 0;
    else
      rtxt.SelectionRightIndent = 50;
  }
}

   
    
  
Related examples in the same category
1.RichTextBox.Focus()
2.RichTextBox.Multiline
3.RichTextBox.SelectionChanged
4.RichTextBox.SelectionFont
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.