基本信息
源码名称:RichTextEditorCode
源码大小:0.05M
文件格式:.zip
开发语言:ASP
更新时间:2019-01-24
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍



Imports System.Drawing
Imports System.Drawing.Image

''' <summary>
''' Rich Text Editor
''' Project demonstrates using an extended version of the rich text box control
''' to manipulate, store, recover, and print rich text, normal text, and html files.
''' </summary>
''' <remarks>The extended rich text box control was developed by Microsoft; it is
''' included with this project in the separate class library</remarks>

Public Class frmMain


#Region "Declarations"

    Private currentFile As String
    Private checkPrint As Integer

#End Region



#Region "Menu Methods"


    Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click

        If rtbDoc.Modified Then

            Dim answer As Integer
            answer = MessageBox.Show("The current document has not been saved, would you like to continue without saving?", "Unsaved Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

            If answer = Windows.Forms.DialogResult.Yes Then
                rtbDoc.Clear()
            Else
                Exit Sub
            End If

        Else

            rtbDoc.Clear()

        End If

        currentFile = ""
        Me.Text = "Editor: New Document"

    End Sub



    Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click

        If rtbDoc.Modified Then

            Dim answer As Integer
            answer = MessageBox.Show("The current document has not been saved, would you like to continue without saving?", "Unsaved Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

            If answer = Windows.Forms.DialogResult.No Then
                Exit Sub

            Else

                OpenFile()

            End If

        Else

            OpenFile()

        End If

    End Sub



    Private Sub OpenFile()

        OpenFileDialog1.Title = "RTE - Open File"
        OpenFileDialog1.DefaultExt = "rtf"
        OpenFileDialog1.Filter = "Rich Text Files|*.rtf|Text Files|*.txt|HTML Files|*.htm|All Files|*.*"
        OpenFileDialog1.FilterIndex = 1
        OpenFileDialog1.ShowDialog()

        If OpenFileDialog1.FileName = "" Then Exit Sub

        Dim strExt As String
        strExt = System.IO.Path.GetExtension(OpenFileDialog1.FileName)
        strExt = strExt.ToUpper()

        Select Case strExt
            Case ".RTF"
                rtbDoc.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)
            Case Else
                Dim txtReader As System.IO.StreamReader
                txtReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
                rtbDoc.Text = txtReader.ReadToEnd
                txtReader.Close()
                txtReader = Nothing
                rtbDoc.SelectionStart = 0
                rtbDoc.SelectionLength = 0
        End Select

        currentFile = OpenFileDialog1.FileName
        rtbDoc.Modified = False
        Me.Text = "Editor: " & currentFile.ToString()

    End Sub



    Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click

        If currentFile = "" Then
            SaveAsToolStripMenuItem_Click(Me, e)
            Exit Sub
        End If

        Dim strExt As String
        strExt = System.IO.Path.GetExtension(currentFile)
        strExt = strExt.ToUpper()

        Select Case strExt
            Case ".RTF"
                rtbDoc.SaveFile(currentFile)
            Case Else
                ' to save as plain text
                Dim txtWriter As System.IO.StreamWriter
                txtWriter = New System.IO.StreamWriter(currentFile)
                txtWriter.Write(rtbDoc.Text)
                txtWriter.Close()
                txtWriter = Nothing
                rtbDoc.SelectionStart = 0
                rtbDoc.SelectionLength = 0
                rtbDoc.Modified = False
        End Select

        Me.Text = "Editor: " & currentFile.ToString()

    End Sub



    Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveAsToolStripMenuItem.Click

        SaveFileDialog1.Title = "RTE - Save File"
        SaveFileDialog1.DefaultExt = "rtf"
        SaveFileDialog1.Filter = "Rich Text Files|*.rtf|Text Files|*.txt|HTML Files|*.htm|All Files|*.*"
        SaveFileDialog1.FilterIndex = 1
        SaveFileDialog1.ShowDialog()

        If SaveFileDialog1.FileName = "" Then Exit Sub

        Dim strExt As String
        strExt = System.IO.Path.GetExtension(SaveFileDialog1.FileName)
        strExt = strExt.ToUpper()

        Select Case strExt
            Case ".RTF"
                rtbDoc.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText)
            Case Else
                Dim txtWriter As System.IO.StreamWriter
                txtWriter = New System.IO.StreamWriter(SaveFileDialog1.FileName)
                txtWriter.Write(rtbDoc.Text)
                txtWriter.Close()
                txtWriter = Nothing
                rtbDoc.SelectionStart = 0
                rtbDoc.SelectionLength = 0
        End Select

        currentFile = SaveFileDialog1.FileName
        rtbDoc.Modified = False
        Me.Text = "Editor: " & currentFile.ToString()

    End Sub



    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click

        If rtbDoc.Modified Then

            Dim answer As Integer
            answer = MessageBox.Show("The current document has not been saved, would you like to continue without saving?", "Unsaved Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

            If answer = Windows.Forms.DialogResult.No Then
                Exit Sub

            Else

                Application.Exit()

            End If

        Else

            Application.Exit()

        End If


    End Sub



    Private Sub SelectAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllToolStripMenuItem.Click

        Try

            rtbDoc.SelectAll()

        Catch exc As Exception

            MessageBox.Show("Unable to select all document content.", "RTE - Select", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub



    Private Sub CopyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyToolStripMenuItem.Click

        Try

            rtbDoc.Copy()

        Catch exc As Exception

            MessageBox.Show("Unable to copy document content.", "RTE - Copy", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub



    Private Sub CutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CutToolStripMenuItem.Click

        Try

            rtbDoc.Cut()

        Catch exc As Exception

            MessageBox.Show("Unable to cut document content.", "RTE - Cut", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub



    Private Sub PasteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PasteToolStripMenuItem.Click

        Try
            rtbDoc.Paste()

        Catch exc As Exception

            MessageBox.Show("Unable to copy clipboard content to document.", "RTE - Paste", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub



    Private Sub SelectFontToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectFontToolStripMenuItem.Click

        If Not rtbDoc.SelectionFont Is Nothing Then
            FontDialog1.Font = rtbDoc.SelectionFont
        Else
            FontDialog1.Font = Nothing
        End If

        FontDialog1.ShowApply = True

        If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            rtbDoc.SelectionFont = FontDialog1.Font
        End If

    End Sub



    Private Sub FontColorToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontColorToolStripMenuItem.Click

        ColorDialog1.Color = rtbDoc.ForeColor

        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            rtbDoc.SelectionColor = ColorDialog1.Color
        End If

    End Sub



    Private Sub BoldToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BoldToolStripMenuItem.Click

        If Not rtbDoc.SelectionFont Is Nothing Then

            Dim currentFont As System.Drawing.Font = rtbDoc.SelectionFont
            Dim newFontStyle As System.Drawing.FontStyle

            If rtbDoc.SelectionFont.Bold = True Then
                newFontStyle = FontStyle.Regular
            Else
                newFontStyle = FontStyle.Bold
            End If

            rtbDoc.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle)

        End If

    End Sub



    Private Sub ItalicToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ItalicToolStripMenuItem.Click

        If Not rtbDoc.SelectionFont Is Nothing Then

            Dim currentFont As System.Drawing.Font = rtbDoc.SelectionFont
            Dim newFontStyle As System.Drawing.FontStyle

            If rtbDoc.SelectionFont.Italic = True Then
                newFontStyle = FontStyle.Regular
            Else
                newFontStyle = FontStyle.Italic
            End If

            rtbDoc.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle)

        End If

    End Sub



    Private Sub UnderlineToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnderlineToolStripMenuItem.Click

        If Not rtbDoc.SelectionFont Is Nothing Then

            Dim currentFont As System.Drawing.Font = rtbDoc.SelectionFont
            Dim newFontStyle As System.Drawing.FontStyle

            If rtbDoc.SelectionFont.Underline = True Then
                newFontStyle = FontStyle.Regular
            Else
                newFontStyle = FontStyle.Underline
            End If

            rtbDoc.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle)

        End If

    End Sub



    Private Sub NormalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NormalToolStripMenuItem.Click

        If Not rtbDoc.SelectionFont Is Nothing Then

            Dim currentFont As System.Drawing.Font = rtbDoc.SelectionFont
            Dim newFontStyle As System.Drawing.FontStyle
            newFontStyle = FontStyle.Regular

            rtbDoc.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle)

        End If

    End Sub



    Private Sub PageColorToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PageColorToolStripMenuItem.Click

        ColorDialog1.Color = rtbDoc.BackColor

        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            rtbDoc.BackColor = ColorDialog1.Color
        End If

    End Sub



    Private Sub mnuUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuUndo.Click

        If rtbDoc.CanUndo Then rtbDoc.Undo()

    End Sub



    Private Sub mnuRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuRedo.Click

        If rtbDoc.CanRedo Then rtbDoc.Redo()

    End Sub



    Private Sub LeftToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftToolStripMenuItem.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Left

    End Sub



    Private Sub CenterToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CenterToolStripMenuItem.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Center

    End Sub



    Private Sub RightToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightToolStripMenuItem.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Right

    End Sub



    Private Sub AddBulletsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddBulletsToolStripMenuItem.Click

        rtbDoc.BulletIndent = 10
        rtbDoc.SelectionBullet = True

    End Sub



    Private Sub RemoveBulletsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveBulletsToolStripMenuItem.Click

        rtbDoc.SelectionBullet = False

    End Sub



    Private Sub mnuIndent0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndent0.Click

        rtbDoc.SelectionIndent = 0

    End Sub



    Private Sub mnuIndent5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndent5.Click

        rtbDoc.SelectionIndent = 5

    End Sub



    Private Sub mnuIndent10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndent10.Click

        rtbDoc.SelectionIndent = 10

    End Sub



    Private Sub mnuIndent15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndent15.Click

        rtbDoc.SelectionIndent = 15

    End Sub



    Private Sub mnuIndent20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndent20.Click

        rtbDoc.SelectionIndent = 20

    End Sub



    Private Sub FindToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FindToolStripMenuItem.Click

        Dim f As New frmFind()
        f.Show()

    End Sub



    Private Sub FindAndReplaceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FindAndReplaceToolStripMenuItem.Click

        Dim f As New frmReplace()
        f.Show()

    End Sub



    Private Sub PreviewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PreviewToolStripMenuItem.Click

        PrintPreviewDialog1.Document = PrintDocument1
        PrintPreviewDialog1.ShowDialog()

    End Sub



    Private Sub PrintToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintToolStripMenuItem.Click

        PrintDialog1.Document = PrintDocument1

        If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            PrintDocument1.Print()
        End If

    End Sub



    Private Sub mnuPageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPageSetup.Click

        PageSetupDialog1.Document = PrintDocument1
        PageSetupDialog1.ShowDialog()

    End Sub



    Private Sub InsertImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertImageToolStripMenuItem.Click

        OpenFileDialog1.Title = "RTE - Insert Image File"
        OpenFileDialog1.DefaultExt = "rtf"
        OpenFileDialog1.Filter = "Bitmap Files|*.bmp|JPEG Files|*.jpg|GIF Files|*.gif"
        OpenFileDialog1.FilterIndex = 1
        OpenFileDialog1.ShowDialog()

        If OpenFileDialog1.FileName = "" Then Exit Sub

        Try
            Dim strImagePath As String = OpenFileDialog1.FileName
            Dim img As Image
            img = Image.FromFile(strImagePath)
            Clipboard.SetDataObject(img)
            Dim df As DataFormats.Format
            df = DataFormats.GetFormat(DataFormats.Bitmap)
            If Me.rtbDoc.CanPaste(df) Then
                Me.rtbDoc.Paste(df)
            End If
        Catch ex As Exception
            MessageBox.Show("Unable to insert image format selected.", "RTE - Paste", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

    End Sub


#End Region



#Region "Toolbar Methods"


    Private Sub tbrSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrSave.Click

        SaveToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrOpen.Click

        OpenToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrNew.Click

        NewToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrBold.Click

        BoldToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrItalic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrItalic.Click

        ItalicToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrUnderline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrUnderline.Click

        UnderlineToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrFont.Click

        SelectFontToolStripMenuItem_Click(Me, e)

    End Sub



    Private Sub tbrLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrLeft.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Left

    End Sub



    Private Sub tbrCenter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrCenter.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Center

    End Sub



    Private Sub tbrRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrRight.Click

        rtbDoc.SelectionAlignment = HorizontalAlignment.Right

    End Sub



    Private Sub tbrFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbrFind.Click

        Dim f As New frmFind()
        f.Show()

    End Sub


#End Region



#Region "Printing"


    Private Sub PrintDocument1_BeginPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.BeginPrint

        ' Adapted from Microsoft's example for extended richtextbox control
        '
        checkPrint = 0

    End Sub


    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        ' Adapted from Microsoft's example for extended richtextbox control
        '
        ' Print the content of the RichTextBox. Store the last character printed.
        checkPrint = rtbDoc.Print(checkPrint, rtbDoc.TextLength, e)

        ' Look for more pages
        If checkPrint < rtbDoc.TextLength Then
            e.HasMorePages = True
        Else
            e.HasMorePages = False
        End If

    End Sub


#End Region




End Class