⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmeditor.vb

📁 一个简单的文本编辑器。
💻 VB
📖 第 1 页 / 共 4 页
字号:
        End If
    End Sub

    '取消上下标
    Private Sub CancelCharOffSet()
        Me.RichTextBox1.SelectionCharOffset = 0
    End Sub

    '对齐方式
    Private Sub SetAligment(ByVal flag As Integer)
        Select Case flag
            Case 1
                Me.RichTextBox1.SelectionAlignment = HorizontalAlignment.Left
            Case 2
                Me.RichTextBox1.SelectionAlignment = HorizontalAlignment.Right
            Case 3
                Me.RichTextBox1.SelectionAlignment = HorizontalAlignment.Center
        End Select

    End Sub




    Private Sub Print()
        Dim streamToPrint As New StringReader(Me.RichTextBox1.Text)

        'Assumes the default printer
        Dim pd As New TextPrintDocument(streamToPrint, Me.RichTextBox1.Font)

        If Not (storedPageSettings Is Nothing) Then
            pd.DefaultPageSettings = storedPageSettings
        End If

        Dim dlg As New PrintDialog
        dlg.Document = pd
        Dim result As DialogResult = dlg.ShowDialog()

        If result = DialogResult.OK Then
            pd.Print()
        End If
    End Sub

    Private Sub PrintSetup()
        Try
            Dim psDlg As New PageSetupDialog

            If storedPageSettings Is Nothing Then
                storedPageSettings = New PageSettings
            End If

            psDlg.PageSettings = storedPageSettings
            psDlg.ShowDialog()

        Catch ex As Exception
            MessageBox.Show(("An error occurred - " + ex.Message))
        End Try
    End Sub
    Private Sub PrintPreview()
        Try
            Dim streamToPrint As New StringReader(Me.RichTextBox1.Text)

            'Assumes the default printer
            Dim pd As New TextPrintDocument(streamToPrint, Me.RichTextBox1.Font)

            If Not (storedPageSettings Is Nothing) Then
                pd.DefaultPageSettings = storedPageSettings
            End If

            Dim dlg As New PrintPreviewDialog
            dlg.Document = pd
            dlg.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(("An error occurred attempting to preview the file to print - " + ex.Message))
        End Try
    End Sub

    Private Sub Undo()
        Me.RichTextBox1.Undo()
    End Sub

    '查找与替换
    Private Sub FindAndReplace()

        If findwindow Is Nothing Then
            Exit Sub
        End If
        If Me.RichTextBox1.SelectedText <> String.Empty Then
            findwindow.cboFind.Text = Me.RichTextBox1.SelectedText
        End If
        findwindow.Show()
    End Sub

    '缩放
    Private Sub ZoomInOut(ByVal isZoomOut As Boolean)
        Dim zoom As Single = 0
        zoom = Me.RichTextBox1.ZoomFactor
        If isZoomOut Then
            zoom -= 0.1
        Else
            zoom += 0.1
        End If

        If zoom < 0.64 Or zoom > 64 Then
            Exit Sub
        End If
        Me.RichTextBox1.ZoomFactor = zoom
    End Sub

    '插入行号
    Private Sub InsertLineNum()
        Me.LineNumWindow.Visible = True
    End Sub
#End Region

#Region "事件驱动"


    '工具栏按钮事件
    Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick

        Select Case e.Button.Tag
            Case "New"
                Me.NewFile()
            Case "Open"
                Me.OpenFile()
            Case "Save"
                Me.SaveFile()
            Case "Copy"
                Me.Copy()
            Case "Cut"
                Me.Cut()
            Case "Paste"
                Me.Paste()
            Case "Bold"
                Me.SetBold()
            Case "Italic"
                Me.SetItalic()
            Case "UnderLine"
                Me.SetUnderline()
            Case "FontSizeUp"
                Me.SetFontSize(True)
            Case "FontSizeDown"
                Me.SetFontSize(False)
            Case "FontColor"
                Me.SetColor()
            Case "Bullet"
                Me.SetBullet()
            Case "IndentDown"
                Me.SetIndent(False, False)
            Case "IndentUp"
                Me.SetIndent(False, True)
            Case "AligmentLeft"
                Me.SetAligment(1)
            Case "AligmentRight"
                Me.SetAligment(2)
            Case "AligmentMiddle"
                Me.SetAligment(3)
            Case "Undo"
                Me.Undo()
            Case "Find"
                Me.FindAndReplace()
            Case "ZoomIn"
                Me.ZoomInOut(False)
            Case "ZoomOut"
                Me.ZoomInOut(True)
            Case "LineNum"
                Me.InsertLineNum()
        End Select
    End Sub
    '--------------------------------------------------------------------------------
    '菜单事件
    Private Sub mnuFileOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFileOpen.Click
        Me.OpenFile()
    End Sub

    Private Sub mnuFileSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFileSaveAs.Click
        Me.SaveAs()
    End Sub

    Private Sub mnuFileNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFileNew.Click
        Me.NewFile()
    End Sub

    Private Sub mnuFileSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFileSave.Click
        Me.SaveFile()
    End Sub



    Private Sub mnuEditSelectAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditSelectAll.Click
        Me.SelectAll()
    End Sub



    Private Sub mnuEditCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditCut.Click
        Me.Cut()
    End Sub

    Private Sub mnuEditClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditClear.Click
        Me.Clear()
    End Sub

    Private Sub mnuEditCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditCopy.Click
        Me.Copy()
    End Sub

    Private Sub mnuEditPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditPaste.Click
        Me.Paste()
    End Sub

    '显示/隐藏工具栏
    Private Sub mnuViewToolBar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuViewToolBar.Click
        mnuViewToolBar.Checked = Not mnuViewToolBar.Checked
        Me.ToolBar1.Visible = mnuViewToolBar.Checked
    End Sub

    '显示/隐藏状态条
    Private Sub mnuViewStatusBar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuViewStatusBar.Click
        mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked
        Me.StatusBar1.Visible = mnuViewStatusBar.Checked
    End Sub

    Private Sub mnuFormatFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFormatFont.Click
        Me.SelectFont()
    End Sub

    Private Sub mnuFormatColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFormatColor.Click
        Me.SetColor()
    End Sub

    Private Sub mnuIndentUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndentUp.Click
        Me.SetIndent(False, True)
    End Sub

    Private Sub mnuIndentDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuIndentDown.Click
        Me.SetIndent(False, False)
    End Sub

    Private Sub mnuHangingIndentUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuHangingIndentUp.Click
        Me.SetIndent(True, True)
    End Sub

    Private Sub mnuHangingIndentDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuHangingIndentDown.Click
        Me.SetIndent(True, False)
    End Sub
    Private Sub mnuSetCharOffsetUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuSetCharOffsetUp.Click
        Me.SetCharOffSet(True)
    End Sub


    Private Sub mnuSetCharOffsetDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuSetCharOffsetDown.Click
        Me.SetCharOffSet(False)
    End Sub

    Private Sub mnuCancelCharOffset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCancelCharOffset.Click
        Me.CancelCharOffSet()
    End Sub

    Private Sub mnuLeftAligment_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuLeftAligment.Click
        Me.SetAligment(1)
    End Sub

    Private Sub mnuRightAligment_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuRightAligment.Click
        Me.SetAligment(2)
    End Sub

    Private Sub mnuAligmentMiddle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAligmentMiddle.Click
        Me.SetAligment(3)
    End Sub


    Private Sub mnuPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPrintPreview.Click
        Me.PrintPreview()
    End Sub

    Private Sub mnuPrintSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPrintSetup.Click
        Me.PrintSetup()
    End Sub

    Private Sub mnuPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPrint.Click
        Me.Print()
    End Sub

    Private Sub mnuFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFind.Click
        Me.FindAndReplace()
    End Sub

#End Region

   


    

   
    Private Sub mnuZoomIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuZoomIn.Click
        Me.ZoomInOut(False)
    End Sub

    Private Sub mnuZoomOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuZoomOut.Click
        Me.ZoomInOut(True)
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Me.StatusBarPanel3.Text = Now




    End Sub


    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub RichTextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs)
        showstatus()

    End Sub

    Private Sub ShowStatus()

        Me.StatusBarPanel2.Text = "  总字数:" & CStr(Me.RichTextBox1.TextLength)
        If Me.RichTextBox1.Modified Then
            Me.StatusBarPanel2.Text += "  已改动 "
        End If
    End Sub

    Private Sub RichTextBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        ShowStatus()
    End Sub

    Private Sub mnuInsertLineNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuInsertLineNum.Click
        Me.InsertLineNum()
    End Sub

    Private Sub mnuAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAbout.Click
        Dim frm As New frmAbout
        frm.ShowDialog()
        frm = Nothing
    End Sub


    Private Sub RichTextBox1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RichTextBox1.SelectionChanged
        Dim _font As Font
        _font = Me.RichTextBox1.SelectionFont
        If Not (_font Is Nothing) Then
            Me.btnBold.Pushed = _font.Bold
            Me.btnItalic.Pushed = _font.Italic
            Me.btnUnderLine.Pushed = _font.Underline
        End If


    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -