📄 form1.vb
字号:
'
Me.Splitter1.Dock = System.Windows.Forms.DockStyle.Top
Me.Splitter1.Name = "Splitter1"
Me.Splitter1.Size = New System.Drawing.Size(552, 3)
Me.Splitter1.TabIndex = 4
Me.Splitter1.TabStop = False
'
'saveFileDlg
'
Me.saveFileDlg.FileName = "doc1"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(552, 369)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ToolBar1, Me.Splitter1})
Me.IsMdiContainer = True
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "多文档编辑器"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
'设置激活窗体标志,如果存在激活窗体,flag=true,否则为false
Dim flag As Boolean = True
'获取当前激活窗体
If Me.ActiveMdiChild() Is Nothing Then
flag = False
End If
Select Case ToolBar1.Buttons.IndexOf(e.Button)
Case 0
'e.Button().Pushed = True
'新建文档
Try
Dim CurDocForm As New docForm()
CurDocForm.MdiParent = Me
CurDocForm.Show()
CurDocForm.Text = "新建文档"
Catch
End Try
Case 1
'打开已有文档
openFileDlg.ShowHelp = True
openFileDlg.CheckPathExists = True
openFileDlg.Title = "请选择需要打开的文件"
openFileDlg.DefaultExt = "*.rtf"
openFileDlg.Filter = "rtf文件 (*.rtf)|*.rtf|所有文件 (*.*)|*.*"
If openFileDlg.ShowDialog = DialogResult.OK And (openFileDlg.FileName.Length > 0) Then
Try
Dim CurDocForm As New docForm()
CurDocForm.MdiParent = Me
CurDocForm.Show()
'打开纯文本信息.txt
'CurDocForm.M_RichTextBox.LoadFile(openFileDlg.FileName, RichTextBoxStreamType.PlainText)
'打开有格式的信息.rtf
CurDocForm.M_RichTextBox.LoadFile(openFileDlg.FileName)
CurDocForm.Text = openFileDlg.FileName
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
Case 2
'保存文档
saveFileDlg.ShowHelp = True
saveFileDlg.AddExtension = True
saveFileDlg.OverwritePrompt = True
saveFileDlg.Filter = "rtf文件 (*.rtf)|*.rtf|所有文件 (*.*)|*.*"
saveFileDlg.DefaultExt = "*.rtf"
If saveFileDlg.ShowDialog() = DialogResult.OK And (saveFileDlg.FileName.Length > 0) Then
Try
'获取当前激活窗体
If Me.ActiveMdiChild() Is Nothing Then
MessageBox.Show("请先打开文档")
e.Button().Pushed = False
Return
End If
Dim f As docForm = Me.ActiveMdiChild()
'保存为有格式的信息
f.M_RichTextBox.SaveFile(saveFileDlg.FileName)
'保存为纯文本信息.txt
'M_RichTextBox.SaveFile(saveFileDlg.FileName, RichTextBoxStreamType.PlainText)
'修改文档标题名称
f.Text = saveFileDlg.FileName
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
'在当前激活的文档中查找
Case 4
If Not flag Then
MessageBox.Show("请先打开文档")
Return
End If
Dim f As docForm = Me.ActiveMdiChild()
Dim SForm As Form = New SearchForm()
SForm.Owner = f
SForm.Show()
'在当前激活的文档中拷贝
Case 6
If Not flag Then
MessageBox.Show("请先打开文档")
Return
End If
'获取当前激活窗体
Dim f As docForm = Me.ActiveMdiChild()
' 将选定的文本放入剪贴版
Clipboard.SetDataObject(f.M_RichTextBox.SelectedText)
'在当前激活的文档中粘贴
Case 7
If Not flag Then
MessageBox.Show("请先打开文档")
Return
End If
'获取当前激活窗体
Dim f As docForm = Me.ActiveMdiChild()
' 将选定的文本放入剪贴版
Dim data As IDataObject = Clipboard.GetDataObject()
If (data.GetDataPresent(DataFormats.Text)) Then
f.M_RichTextBox.SelectedText = data.GetData(DataFormats.Text).ToString()
End If
'设置选中字符串的颜色
Case 9
If Not flag Then
MessageBox.Show("请先打开文档")
Return
End If
'获取当前激活窗体
Dim f As docForm = Me.ActiveMdiChild()
' 将选定的文本修改颜色
If ColDlg.ShowDialog() = DialogResult.OK Then
f.M_RichTextBox.SelectionColor = ColDlg.Color
End If
'设置选中字符串的字体
Case 10
If Not flag Then
MessageBox.Show("请先打开文档")
Return
End If
'获取当前激活窗体
Dim f As docForm = Me.ActiveMdiChild()
' 将选定的文本修改修改字体
If FontDlg.ShowDialog() = DialogResult.OK Then
f.M_RichTextBox.SelectionFont = FontDlg.Font
End If
End Select
End Sub
Private Sub HWinMItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles HWinMItem.Click
'水平排列窗体
Me.LayoutMdi(System.Windows.Forms.MdiLayout.TileHorizontal)
End Sub
Private Sub VWinMItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles VWinMItem.Click
'垂直排列窗体
Me.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical)
End Sub
Private Sub CWinMItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CWinMItem.Click
'层叠排列窗体
Me.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade)
End Sub
Private Sub IWinMItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles IWinMItem.Click
'按图标排列窗体
Me.LayoutMdi(System.Windows.Forms.MdiLayout.ArrangeIcons)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -