分享
 
 
 

用vb.net实现类似写字板程序的部分源代码

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

'欢迎与我交流:luluhai@eastday.com

所有源代码均在这里下载:

http://www.up2e.com/resource.php

'本程序代码是VB.NET课程设计的作业

'代码编写及整理:路海

Imports System.Drawing.Printing

Imports System.Drawing.Font

Public Class formMain

Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

Public Sub New()

MyBase.New()

'该调用是 Windows 窗体设计器所必需的。

InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化

End Sub

'窗体重写处置以清理组件列表。

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'Windows 窗体设计器所必需的

Private components As System.ComponentModel.IContainer

'注意:以下过程是 Windows 窗体设计器所必需的

'可以使用 Windows 窗体设计器修改此过程。

'不要使用代码编辑器修改它。

Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu

Friend WithEvents mFile As System.Windows.Forms.MenuItem

Friend WithEvents mNew As System.Windows.Forms.MenuItem

Friend WithEvents mOpen As System.Windows.Forms.MenuItem

'.....................

'.......................

'.....................

'由于很长,我把他略去了

'.................

'..................

Me.Panel1.SuspendLayout()

Me.SuspendLayout()

'

'MainMenu1

'

Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mFile, Me.mEdit, Me.mView, Me.mFormat, Me.mHelp})

'

'mFile

'

Me.mFile.Index = 0

Me.mFile.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mNew, Me.mOpen, Me.mSave, Me.mSaveas, Me.MenuItem6, Me.mPrint, Me.mPrintpreview, Me.mPagesetup, Me.MenuItem10, Me.mExit})

Me.mFile.Text = "文件(&F)"

'

'mNew

'

Me.mNew.Index = 0

Me.mNew.Shortcut = System.Windows.Forms.Shortcut.CtrlN

Me.mNew.Text = "新建(&N)..."

'

'mOpen

'

Me.mOpen.Index = 1

Me.mOpen.Shortcut = System.Windows.Forms.Shortcut.CtrlO

Me.mOpen.Text = "打开(&O)... "

'

'mSave

'

Me.mSave.Index = 2

Me.mSave.Shortcut = System.Windows.Forms.Shortcut.CtrlS

Me.mSave.Text = "保存(&S) "

'

'mSaveas

'

Me.mSaveas.Index = 3

Me.mSaveas.Text = "另存为(&A)..."

'

'MenuItem6

'

Me.MenuItem6.Index = 4

Me.MenuItem6.Text = "-"

'

'mPrint

'

Me.mPrint.Index = 5

Me.mPrint.Shortcut = System.Windows.Forms.Shortcut.CtrlP

Me.mPrint.Text = "打印(&P)..."

'

'mPrintpreview

'

Me.mPrintpreview.Index = 6

Me.mPrintpreview.Text = "打印预览(&V)"

'

'mPagesetup

'

Me.mPagesetup.Index = 7

Me.mPagesetup.Text = "页面设置(&U)..."

'

'MenuItem10

'

Me.MenuItem10.Index = 8

Me.MenuItem10.Text = "-"

'

'mExit

'

Me.mExit.Index = 9

Me.mExit.Text = "退出(&X)"

'

'mEdit

'

Me.mEdit.Index = 1

Me.mEdit.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mUndo, Me.MenuItem1, Me.mCut, Me.mCopy, Me.mPaste, Me.mClear, Me.mSelectall, Me.MenuItem21, Me.mFind, Me.mFindnext, Me.mReplace})

Me.mEdit.Text = "编辑(&E)"

'

'mUndo

'

Me.mUndo.Index = 0

Me.mUndo.Shortcut = System.Windows.Forms.Shortcut.CtrlZ

Me.mUndo.Text = "撤销(&U)"

'

'MenuItem1

'

Me.MenuItem1.Index = 1

Me.MenuItem1.Text = "-"

'

'mCut

'

Me.mCut.Index = 2

Me.mCut.Shortcut = System.Windows.Forms.Shortcut.CtrlX

Me.mCut.Text = "剪切(&T)"

'

'mCopy

'

Me.mCopy.Index = 3

Me.mCopy.Shortcut = System.Windows.Forms.Shortcut.CtrlC

Me.mCopy.Text = "复制(&C)"

'

'mPaste

'

Me.mPaste.Index = 4

Me.mPaste.Shortcut = System.Windows.Forms.Shortcut.CtrlP

Me.mPaste.Text = "粘贴(&P)"

'

'mClear

'

Me.mClear.Index = 5

Me.mClear.Shortcut = System.Windows.Forms.Shortcut.Del

Me.mClear.Text = "清除(&A)"

'

'mSelectall

'

Me.mSelectall.Index = 6

Me.mSelectall.Shortcut = System.Windows.Forms.Shortcut.CtrlA

Me.mSelectall.Text = "全选(&L)"

'

'MenuItem21

'

Me.MenuItem21.Index = 7

Me.MenuItem21.Text = "-"

'

'mFind

'

Me.mFind.Index = 8

Me.mFind.Shortcut = System.Windows.Forms.Shortcut.CtrlF

Me.mFind.Text = "查找(&F)..."

'

'mFindnext

'

Me.mFindnext.Index = 9

Me.mFindnext.Shortcut = System.Windows.Forms.Shortcut.F3

Me.mFindnext.Text = "查找下一个(&N)"

'

'mReplace

'

Me.mReplace.Index = 10

Me.mReplace.Shortcut = System.Windows.Forms.Shortcut.CtrlH

Me.mReplace.Text = "替换(&E)..."

'

'mView

'

Me.mView.Index = 2

Me.mView.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mStatusbar})

Me.mView.Text = "查看(&V)"

'

'mStatusbar

'

Me.mStatusbar.Checked = True

Me.mStatusbar.Index = 0

Me.mStatusbar.Text = "状态栏(&S)"

'

'mFormat

'

Me.mFormat.Index = 3

Me.mFormat.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mFont, Me.MenuItem2})

Me.mFormat.Text = "格式(&D)"

'

'mFont

'

Me.mFont.Index = 0

Me.mFont.Text = "字体(&F)..."

'

'MenuItem2

'

Me.MenuItem2.Index = 1

Me.MenuItem2.Text = "颜色(&C)..."

'

'mHelp

'

Me.mHelp.Index = 4

Me.mHelp.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mHelptopics, Me.MenuItem34, Me.mAbout})

Me.mHelp.Text = "帮助(&H)"

'

'mHelptopics

'

Me.mHelptopics.Index = 0

Me.mHelptopics.Text = "帮助主题(&H)"

'

'MenuItem34

'

Me.MenuItem34.Index = 1

Me.MenuItem34.Text = "-"

'

'mAbout

'

Me.mAbout.Index = 2

Me.mAbout.Text = "关于本写字板作业(&A)"

'

'SaveFileDialog1

'

Me.SaveFileDialog1.FileName = "doc1"

'

'ToolBar1

'

Me.ToolBar1.AllowDrop = True

Me.ToolBar1.AutoSize = False

Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.tbbNew, Me.tbbOpen, Me.tbbSave, Me.ToolBarButton1, Me.ToolBarButton2, Me.vbbPrint, Me.tbbPreview, Me.ToolBarButton3, Me.ToolBarButton4, Me.tbbFind, Me.ToolBarButton5, Me.ToolBarButton6, Me.tbbCut, Me.tbbCopy, Me.tbbPaste, Me.tbbUndo})

Me.ToolBar1.ButtonSize = New System.Drawing.Size(25, 24)

Me.ToolBar1.DropDownArrows = True

Me.ToolBar1.ImageList = Me.ImageList1

Me.ToolBar1.Name = "ToolBar1"

Me.ToolBar1.ShowToolTips = True

Me.ToolBar1.Size = New System.Drawing.Size(688, 32)

Me.ToolBar1.TabIndex = 0

'

'tbbNew

'

Me.tbbNew.ImageIndex = 5

Me.tbbNew.ToolTipText = "新建"

'

'tbbOpen

'

Me.tbbOpen.ImageIndex = 6

Me.tbbOpen.ToolTipText = "打开"

'

'tbbSave

'

Me.tbbSave.ImageIndex = 10

Me.tbbSave.ToolTipText = "保存"

'

'ToolBarButton1

'

Me.ToolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'ToolBarButton2

'

Me.ToolBarButton2.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'vbbPrint

'

Me.vbbPrint.ImageIndex = 9

Me.vbbPrint.ToolTipText = "打印"

'

'tbbPreview

'

Me.tbbPreview.ImageIndex = 8

Me.tbbPreview.ToolTipText = "打印预览"

'

'ToolBarButton3

'

Me.ToolBarButton3.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'ToolBarButton4

'

Me.ToolBarButton4.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'tbbFind

'

Me.tbbFind.ImageIndex = 12

Me.tbbFind.ToolTipText = "查找"

'

'ToolBarButton5

'

Me.ToolBarButton5.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'ToolBarButton6

'

Me.ToolBarButton6.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'tbbCut

'

Me.tbbCut.ImageIndex = 4

Me.tbbCut.ToolTipText = "剪切"

'

'tbbCopy

'

Me.tbbCopy.ImageIndex = 3

Me.tbbCopy.ToolTipText = "复制"

'

'tbbPaste

'

Me.tbbPaste.ImageIndex = 7

Me.tbbPaste.ToolTipText = "粘贴"

'

'tbbUndo

'

Me.tbbUndo.ImageIndex = 11

Me.tbbUndo.ToolTipText = "撤销"

'

'ImageList1

'

Me.ImageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit

Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)

Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)

Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent

'

'rtbox

'

Me.rtbox.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _

Or System.Windows.Forms.AnchorStyles.Left) _

Or System.Windows.Forms.AnchorStyles.Right)

Me.rtbox.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))

Me.rtbox.Location = New System.Drawing.Point(0, 64)

Me.rtbox.Name = "rtbox"

Me.rtbox.Size = New System.Drawing.Size(688, 424)

Me.rtbox.TabIndex = 3

Me.rtbox.Text = ""

'

'PrintDialog1

'

Me.PrintDialog1.Document = Me.PrintDocument1

'

'comboxFont

'

Me.comboxFont.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))

Me.comboxFont.Location = New System.Drawing.Point(184, 40)

Me.comboxFont.Name = "comboxFont"

Me.comboxFont.Size = New System.Drawing.Size(121, 20)

Me.comboxFont.TabIndex = 5

Me.comboxFont.Text = "字体"

'

'comboxSize

'

Me.comboxSize.Items.AddRange(New Object() {"8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72"})

Me.comboxSize.Location = New System.Drawing.Point(304, 40)

Me.comboxSize.Name = "comboxSize"

Me.comboxSize.Size = New System.Drawing.Size(48, 20)

Me.comboxSize.TabIndex = 6

Me.comboxSize.Text = "大小"

'

'tbbbold

'

Me.tbbbold.ImageIndex = 0

Me.tbbbold.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbbold.ToolTipText = "加粗"

'

'tbbi

'

Me.tbbi.ImageIndex = 1

Me.tbbi.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbi.ToolTipText = "斜体"

'

'tbbu

'

Me.tbbu.ImageIndex = 2

Me.tbbu.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbu.ToolTipText = "下划线"

'

'tbbcolor

'

Me.tbbcolor.ImageIndex = 16

Me.tbbcolor.ToolTipText = "这个是颜色!因为找不到合适的。"

'

'ToolBarButton8

'

Me.ToolBarButton8.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'ToolBarButton7

'

Me.ToolBarButton7.Style = System.Windows.Forms.ToolBarButtonStyle.Separator

'

'tbbleft

'

Me.tbbleft.ImageIndex = 13

Me.tbbleft.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbleft.ToolTipText = "靠左"

'

'tbbmiddle

'

Me.tbbmiddle.ImageIndex = 15

Me.tbbmiddle.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbmiddle.ToolTipText = "靠中"

'

'tbbright

'

Me.tbbright.ImageIndex = 14

Me.tbbright.Style = System.Windows.Forms.ToolBarButtonStyle.ToggleButton

Me.tbbright.ToolTipText = "靠右"

'

'ToolBar2

'

Me.ToolBar2.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.tbbbold, Me.tbbi, Me.tbbu, Me.tbbcolor, Me.ToolBarButton8, Me.ToolBarButton7, Me.tbbleft, Me.tbbmiddle, Me.tbbright})

Me.ToolBar2.ButtonSize = New System.Drawing.Size(23, 22)

Me.ToolBar2.DropDownArrows = True

Me.ToolBar2.ImageList = Me.ImageList1

Me.ToolBar2.Location = New System.Drawing.Point(0, 32)

Me.ToolBar2.Name = "ToolBar2"

Me.ToolBar2.ShowToolTips = True

Me.ToolBar2.Size = New System.Drawing.Size(688, 25)

Me.ToolBar2.TabIndex = 7

'

'StatusBar1

'

Me.StatusBar1.Location = New System.Drawing.Point(0, 467)

Me.StatusBar1.Name = "StatusBar1"

Me.StatusBar1.Size = New System.Drawing.Size(688, 22)

Me.StatusBar1.TabIndex = 8

'

'Panel1

'

Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle

Me.Panel1.Controls.AddRange(New System.Windows.Forms.Control() {Me.PictureBox1, Me.closepanel, Me.Label1, Me.mpreplace, Me.findnext, Me.find, Me.rpbox, Me.txtbox})

Me.Panel1.Location = New System.Drawing.Point(192, 160)

Me.Panel1.Name = "Panel1"

Me.Panel1.Size = New System.Drawing.Size(272, 96)

Me.Panel1.TabIndex = 9

Me.Panel1.Visible = False

'

'PictureBox1

'

Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Bitmap)

Me.PictureBox1.Location = New System.Drawing.Point(8, 8)

Me.PictureBox1.Name = "PictureBox1"

Me.PictureBox1.Size = New System.Drawing.Size(16, 16)

Me.PictureBox1.TabIndex = 7

Me.PictureBox1.TabStop = False

'

'closepanel

'

Me.closepanel.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))

Me.closepanel.ForeColor = System.Drawing.Color.Black

Me.closepanel.Location = New System.Drawing.Point(240, 64)

Me.closepanel.Name = "closepanel"

Me.closepanel.Size = New System.Drawing.Size(24, 24)

Me.closepanel.TabIndex = 6

Me.closepanel.Text = "关"

'

'Label1

'

Me.Label1.Location = New System.Drawing.Point(24, 8)

Me.Label1.Name = "Label1"

Me.Label1.Size = New System.Drawing.Size(61, 16)

Me.Label1.TabIndex = 5

Me.Label1.Text = "查找-可拖"

'

'mpreplace

'

Me.mpreplace.Location = New System.Drawing.Point(112, 64)

Me.mpreplace.Name = "mpreplace"

Me.mpreplace.Size = New System.Drawing.Size(72, 23)

Me.mpreplace.TabIndex = 4

Me.mpreplace.Text = "替换"

'

'findnext

'

Me.findnext.Location = New System.Drawing.Point(192, 32)

Me.findnext.Name = "findnext"

Me.findnext.TabIndex = 3

Me.findnext.Text = "下一个"

'

'find

'

Me.find.Location = New System.Drawing.Point(112, 32)

Me.find.Name = "find"

Me.find.Size = New System.Drawing.Size(72, 23)

Me.find.TabIndex = 2

Me.find.Text = "查找"

'

'rpbox

'

Me.rpbox.Location = New System.Drawing.Point(8, 64)

Me.rpbox.Name = "rpbox"

Me.rpbox.TabIndex = 1

Me.rpbox.Text = ""

'

'txtbox

'

Me.txtbox.Location = New System.Drawing.Point(8, 32)

Me.txtbox.Name = "txtbox"

Me.txtbox.TabIndex = 0

Me.txtbox.Text = ""

'

'formMain

'

Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)

Me.ClientSize = New System.Drawing.Size(688, 489)

Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Panel1, Me.StatusBar1, Me.comboxSize, Me.comboxFont, Me.ToolBar2, Me.rtbox, Me.ToolBar1})

Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)

Me.Menu = Me.MainMenu1

Me.Name = "formMain"

Me.Text = "VB.NET课程设计作业2-写字板:::::By SunnyGroup 2002:::Shanghai Fisheries University:::::"

Me.Panel1.ResumeLayout(False)

Me.ResumeLayout(False)

End Sub

#End Region

'声明一个全局boolean变量,用来标记richtextbox中文本变化和保存情况

Dim bSave As Boolean

'下面这段程序用于对对话框属性和全局变量进行初始化设置

Private Sub formMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'为bSave首先赋初值

bSave = True

'为savefiledialog进行初始化

SaveFileDialog1.FileName = ""

SaveFileDialog1.DefaultExt = "txt"

SaveFileDialog1.Filter = "Text files (*.txt) |*.txt|All files (*.*) |*.*"

SaveFileDialog1.Title = "保存文件.."

'为openfiledialog进行初始化

OpenFileDialog1.FileName = ""

OpenFileDialog1.DefaultExt = "txt"

OpenFileDialog1.Filter = "Text files (*.txt) |*.txt|All files (*.*) |*.*"

OpenFileDialog1.Title = "打开文件.."

'下面这段代码是加载当地系统中所有字体到Combobox中

Dim allfonts As FontFamily

For Each allfonts In System.Drawing.FontFamily.Families

comboxFont.Items.Add(allfonts.Name)

Next

End Sub

Private Sub rtbox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtbox.TextChanged

'文本发生了改变,则将变量bSave置为False

bSave = False

End Sub

'********************************************************************************************

'字体

'下面这个函数是用来去除用户指定的字体样式,如加粗,下划线等等

Public Sub RemoveFontStyle(ByVal rtb As RichTextBox, _

ByVal style As System.Drawing.FontStyle)

' 如果选择文本的长度大于0,将一个一个去除样式。

' 这是十分必要的!因为选择的文本中可能有许多不同的样式,而我们的原意是

' 保持所有原来的样式,除了那个要被去除的样式

If rtb.SelectionLength > 0 Then

Dim selStart As Integer = rtb.SelectionStart

Dim selLength As Integer = rtb.SelectionLength

Dim currFont As System.Drawing.Font

Dim currStyle As System.Drawing.FontStyle

Dim i As Integer

For i = 0 To selLength - 1

' 选择一个字符

rtb.Select(selStart + i, 1)

' 得到被选择字符的字体

currFont = rtb.SelectionFont

' 得到被选择字符的样式,同时去除要被除去的那个样式

currStyle = currFont.Style

currStyle = currStyle And Not style

' 然后赋予这些字符新的字体和样式

rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _

currStyle)

Next

' 保持原有的选择

rtb.Select(selStart, selLength)

Else

rtb.SelectionFont = New Font(rtb.SelectionFont, _

rtb.SelectionFont.Style And Not style)

End If

End Sub

'下面这个函数是用来增加字体的样式,比如加粗,下划线等等

Public Sub AddFontStyle(ByVal rtb As RichTextBox, _

ByVal style As System.Drawing.FontStyle)

' 如果选择的文本长度大于0,将一个一个字符地增加样式。

'这是十分必要的!因为被选择的字符可能同时含有多种样式,

' 而我们的原意只是保持所有原来的样式,同时增加上指定的样式

If rtb.SelectionLength > 0 Then

Dim selStart As Integer = rtb.SelectionStart

Dim selLength As Integer = rtb.SelectionLength

Dim currFont As System.Drawing.Font

Dim currStyle As System.Drawing.FontStyle

Dim i As Integer

For i = 0 To selLength - 1

' 选择的字符

rtb.Select(selStart + i, 1)

' 得到被选择字符的字体

currFont = rtb.SelectionFont

' 得到现在的样式,同时增加指定的样式

currStyle = currFont.Style

currStyle = currStyle Or style

' 然后使字符拥有新的字体和新的样式,有可能出现异常,

'因为不是所有字体都支持所有的样式,所以这里捕捉异常

Try

rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _

currStyle)

Catch ex As Exception

End Try

Next

rtb.Select(selStart, selLength)

Else

rtb.SelectionFont = New Font(rtb.SelectionFont, _

rtb.SelectionFont.Style Or style)

End If

End Sub

'并不是所有的字体都支持所有的样式,下面这个函数是用来检查新字体是否支持选择的样式,若不支持,则移除该样式

'使用举例: GetSafeStyleForFontFamily(richTextBox1.SelectionFont.FontFamily,richTextBox1.SelectionFont.Style)

Public Function GetSafeStyleForFontFamily(ByVal fontFam As FontFamily, _

ByVal style As FontStyle) As FontStyle

' 移除不支持的样式

If (style And FontStyle.Regular) = FontStyle.Regular Then

If Not fontFam.IsStyleAvailable(FontStyle.Regular) Then

style = style And Not FontStyle.Regular

End If

End If

If (style And FontStyle.Bold) = FontStyle.Bold Then

If Not fontFam.IsStyleAvailable(FontStyle.Bold) Then

style = style And Not FontStyle.Bold

End If

End If

If (style And FontStyle.Italic) = FontStyle.Italic Then

If Not fontFam.IsStyleAvailable(FontStyle.Italic) Then

style = style And Not FontStyle.Italic

End If

End If

If (style And FontStyle.Underline) = FontStyle.Underline Then

If Not fontFam.IsStyleAvailable(FontStyle.Underline) Then

style = style And Not FontStyle.Underline

End If

End If

If (style And FontStyle.Strikeout) = FontStyle.Strikeout Then

If Not fontFam.IsStyleAvailable(FontStyle.Strikeout) Then

style = style And Not FontStyle.Strikeout

End If

End If

Return style

End Function

'下面这个SetFontSize函数是用来设置字体的大小

Public Sub SetFontSize(ByVal rtb As RichTextBox, ByVal fontSize As Single)

If rtb.SelectionLength > 0 Then

Dim selStart As Integer = rtb.SelectionStart

Dim selLength As Integer = rtb.SelectionLength

Dim currFont As System.Drawing.Font

Dim i As Integer

For i = 0 To selLength - 1

rtb.Select(selStart + i, 1)

currFont = rtb.SelectionFont

rtb.SelectionFont = New Font(currFont.FontFamily, fontSize, _

currFont.Style)

Next

rtb.Select(selStart, selLength)

Else

rtb.SelectionFont = New Font(rtb.SelectionFont.Name, fontSize, _

rtb.SelectionFont.Style)

End If

End Sub

'下面这个SetFontFamily函数是用来设置字体的变化

Public Sub SetFontFamily(ByVal rtb As RichTextBox, ByVal fontName As String)

Dim fontFam As New System.Drawing.FontFamily(fontName)

Dim style As System.Drawing.FontStyle

If rtb.SelectionLength > 0 Then

Dim selStart As Integer = rtb.SelectionStart

Dim selLength As Integer = rtb.SelectionLength

Dim i As Integer

For i = 0 To selLength - 1

rtb.Select(selStart + i, 1)

style = GetSafeStyleForFontFamily(fontFam, rtb.SelectionFont.Style)

rtb.SelectionFont = New Font(fontFam, rtb.SelectionFont.Size, style)

Next

rtb.Select(selStart, selLength)

Else

style = GetSafeStyleForFontFamily(fontFam, rtb.SelectionFont.Style)

rtb.SelectionFont = New Font(fontFam, rtb.SelectionFont.Size, style)

End If

End Sub

'************************************************************************************

'下面这个函数是用来新建文件

Private Sub newfile()

Dim flag As Integer

'如果文本已经被保存,则清空rtbox内容,所有变量重置以新建文本

If bSave Then

rtbox.Clear()

SaveFileDialog1.FileName = ""

bSave = True

Else

'如果文本没有保存,则提示是否要保存

flag = MessageBox.Show("文件内容已更改,想保存文件吗??", "info", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)

Select Case flag

'case 6是当用户选择了“保存”,则执行保存文件的操作

Case 6

'如果没有选择要保存的文件名,则弹出保存对话框,由用户选择要保存的文件名后保存文本

If SaveFileDialog1.FileName = "" Then

If SaveFileDialog1.ShowDialog Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Else

'如果已经选择了要保存的文件名,则保存文本到文件中

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

'然后就是清空rtbox的内容,重置变量以新建文本

bSave = True

rtbox.Clear()

SaveFileDialog1.FileName = ""

'case 7就是当用户选择了no也就是不保存时,立即清空rtbox内容,重置变量以新建文本

Case 7

rtbox.Clear()

SaveFileDialog1.FileName = ""

bSave = True

'case else就是当用户选择了取消,则取消新建操作,也就是Do Nothing

Case Else

End Select

End If

End Sub

'下面这个函数是用来打开文件

Private Sub openfile()

Dim flag As Integer

'如果文本内容没有保存,询问用户是否保存

If Not bSave Then

flag = MessageBox.Show("文件内容已更改,想保存文件吗??", "info", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)

Select Case flag

'case 6是当用户选择了“保存”,则执行保存文件的操作

Case 6

'如果没有选择要保存的文件名,则弹出保存对话框,由用户选择要保存的文件名后保存文本

If SaveFileDialog1.FileName = "" Then

If SaveFileDialog1.ShowDialog Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Else

'如果已经选择了要保存的文件名,则保存文本到文件中

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

'弹出打开文件对话框,执行打开文件操作

bSave = True

If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

rtbox.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

'case 7的意思是如果用户选择了“不保存”,则直接执行打开文件操作

Case 7

If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

rtbox.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

bSave = True

'case else也就是用户选择了取消

Case Else

End Select

'else文本已经保存,直接执行打开文件操作

Else

If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

rtbox.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

bSave = True

End If

End Sub

'下面这个函数是用来保存文件

Private Sub savefile()

'如果没有选择要保存的文件名,则弹出保存对话框,由用户选择要保存的文件名后保存文本

If SaveFileDialog1.FileName = "" Then

If SaveFileDialog1.ShowDialog Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Else

'如果已经选择了要保存的文件名,则保存文本到文件中

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

bSave = True

End Sub

'*****************************************************************************

'打印,打印预览

' 必须确定所有的打印事件都是针对同一个 PrintDocument

Private WithEvents pdoc As New PrintDocument()

' 打印文件是一个函数性的打印事件,每当要打印时该事件被触发

' 下面是一个非常快速和有用的精确计算要打印的文本是否能够被包括到整张打印页面

'是我从微软站点上得到的资料,我把它应用到了我的程序中

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

' Declare a variable to hold the position of the last printed char. Declare

' as static so that subsequent PrintPage events can reference it.

Static intCurrentChar As Int32

' Initialize the font to be used for printing.

Dim font As New font("Microsoft Sans Serif", 24)

Dim intPrintAreaHeight, intPrintAreaWidth, marginLeft, marginTop As Int32

With pdoc.DefaultPageSettings

' Initialize local variables that contain the bounds of the printing

' area rectangle.

intPrintAreaHeight = .PaperSize.Height - .Margins.Top - .Margins.Bottom

intPrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right

' Initialize local variables to hold margin values that will serve

' as the X and Y coordinates for the upper left corner of the printing

' area rectangle.

marginLeft = .Margins.Left ' X coordinate

marginTop = .Margins.Top ' Y coordinate

End With

' If the user selected Landscape mode, swap the printing area height

' and width.

If pdoc.DefaultPageSettings.Landscape Then

Dim intTemp As Int32

intTemp = intPrintAreaHeight

intPrintAreaHeight = intPrintAreaWidth

intPrintAreaWidth = intTemp

End If

' Calculate the total number of lines in the document based on the height of

' the printing area and the height of the font.

Dim intLineCount As Int32 = CInt(intPrintAreaHeight / font.Height)

' Initialize the rectangle structure that defines the printing area.

Dim rectPrintingArea As New RectangleF(marginLeft, marginTop, intPrintAreaWidth, intPrintAreaHeight)

' Instantiate the StringFormat class, which encapsulates text layout

' information (such as alignment and line spacing), display manipulations

' (such as ellipsis insertion and national digit substitution) and OpenType

' features. Use of StringFormat causes MeasureString and DrawString to use

' only an integer number of lines when printing each page, ignoring partial

' lines that would otherwise likely be printed if the number of lines per

' page do not divide up cleanly for each page (which is usually the case).

' See further discussion in the SDK documentation about StringFormatFlags.

Dim fmt As New StringFormat(StringFormatFlags.LineLimit)

' Call MeasureString to determine the number of characters that will fit in

' the printing area rectangle. The CharFitted Int32 is passed ByRef and used

' later when calculating intCurrentChar and thus HasMorePages. LinesFilled

' is not needed for this sample but must be passed when passing CharsFitted.

' Mid is used to pass the segment of remaining text left off from the

' previous page of printing (recall that intCurrentChar was declared as

' static.

Dim intLinesFilled, intCharsFitted As Int32

e.Graphics.MeasureString(Mid(rtbox.Text, intCurrentChar + 1), font, _

New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, _

intCharsFitted, intLinesFilled)

' Print the text to the page.

e.Graphics.DrawString(Mid(rtbox.Text, intCurrentChar + 1), font, _

Brushes.Black, rectPrintingArea, fmt)

' Advance the current char to the last char printed on this page. As

' intCurrentChar is a static variable, its value can be used for the next

' page to be printed. It is advanced by 1 and passed to Mid() to print the

' next page (see above in MeasureString()).

intCurrentChar += intCharsFitted

' HasMorePages tells the printing module whether another PrintPage event

' should be fired.

If intCurrentChar < rtbox.Text.Length Then

e.HasMorePages = True

Else

e.HasMorePages = False

' You must explicitly reset intCurrentChar as it is static.

intCurrentChar = 0

End If

End Sub

Private Sub printpreview()

Dim ppd As New PrintPreviewDialog()

Try

ppd.Document = pdoc

ppd.ShowDialog()

Catch exp As Exception

MessageBox.Show("有错误发生!!不能预览 !" & _

"确信现在你是否能够 " & _

"连接到一个打印机?" & _

"然后预览才可以.", Me.Text, _

MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

End Sub

Private Sub mPrintpreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mPrintpreview.Click

printpreview()

End Sub

Private Sub mPagesetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mPagesetup.Click

Dim psd As New PageSetupDialog()

With psd

.Document = pdoc

.PageSettings = pdoc.DefaultPageSettings

End With

If psd.ShowDialog = DialogResult.OK Then

pdoc.DefaultPageSettings = psd.PageSettings

End If

End Sub

Private Sub printfile()

Dim dialog As New PrintDialog()

dialog.Document = pdoc

If dialog.ShowDialog = DialogResult.OK Then

pdoc.Print()

End If

End Sub

'********************************************************************************

Private Sub mNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mNew.Click

newfile()

End Sub

Private Sub mOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mOpen.Click

openfile()

End Sub

Private Sub mSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mSave.Click

savefile()

End Sub

Private Sub mSaveas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mSaveas.Click

'将保存文件窗口标题改为“文件另存为”

SaveFileDialog1.Title = "文件另存为"

If SaveFileDialog1.ShowDialog() = DialogResult.OK Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

bSave = True

End If

'将标题改回

SaveFileDialog1.Title = "保存文件"

End Sub

Private Sub mExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mExit.Click

'退出操作

Close()

End Sub

'在关闭程序之前,判断文本是否需要保存

Private Sub formMain_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing

If bSave = False Then

Dim flag As Integer

flag = MessageBox.Show("文件内容已更改,想保存文件吗??", "info", MessageBoxButtons.YesNo, MessageBoxIcon.Information)

Select Case flag

'case 6是当用户选择了“保存”,则执行保存文件的操作

Case 6

'如果没有选择要保存的文件名,则弹出保存对话框,由用户选择要保存的文件名后保存文本

If SaveFileDialog1.FileName = "" Then

If SaveFileDialog1.ShowDialog Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Else

'如果已经选择了要保存的文件名,则保存文本到文件中

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Case Else

'不保存

End Select

End If

End Sub

'关于显示“关于”窗体的代码

Private Sub mAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mAbout.Click

'首先需要定义一个“关于”Form的实例

Dim fAbout As New formAbout()

'显示他

fAbout.Show()

End Sub

Private Sub mFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mFont.Click

If FontDialog1.ShowDialog() = DialogResult.OK Then

rtbox.Font = FontDialog1.Font

End If

End Sub

Private Sub mUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mUndo.Click

rtbox.Undo()

End Sub

Private Sub mCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mCut.Click

rtbox.Cut()

End Sub

Private Sub mCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mCopy.Click

rtbox.Copy()

End Sub

Private Sub mPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mPaste.Click

rtbox.Paste()

End Sub

Private Sub mClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mClear.Click

rtbox.Clear()

End Sub

Private Sub mSelectall_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mSelectall.Click

rtbox.SelectAll()

End Sub

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick

Select Case ToolBar1.Buttons.IndexOf(e.Button)

Case 0

newfile()

Case 1

openfile()

Case 2

savefile()

Case 5

printfile()

Case 6

printpreview()

Case 9

Panel1.Visible = True

Case 12

rtbox.Cut()

Case 13

rtbox.Copy()

Case 14

rtbox.Paste()

Case 15

rtbox.Undo()

End Select

End Sub

Private Sub mPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mPrint.Click

printfile()

End Sub

Private Sub comboxFont_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comboxFont.SelectedIndexChanged

SetFontFamily(rtbox, comboxFont.Text)

End Sub

Private Sub comboxSize_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comboxSize.SelectedIndexChanged

SetFontSize(rtbox, comboxSize.SelectedItem)

End Sub

Private Sub ToolBar2_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar2.ButtonClick

Select Case ToolBar2.Buttons.IndexOf(e.Button)

Case 0

If tbbbold.Pushed = True Then

AddFontStyle(rtbox, FontStyle.Bold)

Else

RemoveFontStyle(rtbox, FontStyle.Bold)

End If

Case 1

If tbbi.Pushed = True Then

AddFontStyle(rtbox, FontStyle.Italic)

Else

RemoveFontStyle(rtbox, FontStyle.Italic)

End If

Case 2

If tbbu.Pushed = True Then

AddFontStyle(rtbox, FontStyle.Underline)

Else

RemoveFontStyle(rtbox, FontStyle.Underline)

End If

Case 3

ColorDialog1.ShowDialog()

rtbox.ForeColor = ColorDialog1.Color

Case 6

rtbox.SelectionAlignment = HorizontalAlignment.Left

tbbmiddle.Pushed = False

tbbright.Pushed = False

Case 7

rtbox.SelectionAlignment = HorizontalAlignment.Center

tbbleft.Pushed = False

tbbright.Pushed = False

Case 8

rtbox.SelectionAlignment = HorizontalAlignment.Right

tbbleft.Pushed = False

tbbmiddle.Pushed = False

End Select

End Sub

'********************************************

'菜单中的隐藏状态栏功能

Private Sub mStatusbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mStatusbar.Click

If mStatusbar.Checked = True Then

StatusBar1.Visible = False

mStatusbar.Checked = False

Else

StatusBar1.Visible = True

mStatusbar.Checked = True

End If

End Sub

'********************************************

'状态栏的信息

Private Sub HandleSelect(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mStatusbar.Select, mAbout.Select, mClear.Select, mCopy.Select, mNew.Select, mCut.Select, mEdit.Select, mExit.Select, mFile.Select, mFind.Select, mFindnext.Select, mFont.Select, mHelp.Select, mHelptopics.Select, mOpen.Select, mPagesetup.Select, mPaste.Select, mPrint.Select, mPrintpreview.Select, mReplace.Select, mSave.Select, mSaveas.Select, mSelectall.Select, mStatusbar.Select, mUndo.Select, mView.Select

Dim strText As String

If sender Is mStatusbar Then

strText = "决定是否隐藏状态栏...."

ElseIf sender Is mAbout Then

strText = "您将看到我们开发小组的一些资料"

ElseIf sender Is mClear Then

strText = "清空所有内容!"

ElseIf sender Is mExit Then

strText = "退出程序!"

ElseIf sender Is mNew Then

strText = "新建一个文档,会提示保存。。。"

ElseIf sender Is mCopy Then

strText = "复制选中的内容"

ElseIf sender Is mCut Then

strText = "剪切制定的内容"

ElseIf sender Is mEdit Then

strText = "编辑菜单"

ElseIf sender Is mFile Then

strText = "文件菜单"

ElseIf sender Is mFind Then

strText = "显示查找面板。。"

ElseIf sender Is mFindnext Then

strText = "查找下一个"

ElseIf sender Is mFont Then

strText = "显示字体设置对话框"

ElseIf sender Is mOpen Then

strText = "打开菜单"

ElseIf sender Is mEdit Then

strText = "编辑菜单"

ElseIf sender Is mPagesetup Then

strText = "页面设置选项"

ElseIf sender Is mEdit Then

strText = "编辑菜单"

'.........

'........

'........

Else

strText = String.Empty

End If

WriteToStatusBar(strText)

End Sub

Public Sub WriteToStatusBar(ByVal Text As String)

StatusBar1.Text = Text

End Sub

Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click

ColorDialog1.ShowDialog()

rtbox.ForeColor = ColorDialog1.Color

End Sub

'***********************************************************************************************

'下面是关于实现查找功能

Dim MyPos As Integer '先声明一个全局变量

Private Sub FindText(ByVal start As Integer) '创建findtext函数

Dim pos As Integer

Dim target As String

'获取用户输入的要查找的字符串

target = txtbox.Text

pos = InStr(start, rtbox.Text, target)

If pos > 0 Then '找到了匹配字符串

MyPos = pos

rtbox.SelectionStart = MyPos - 1 '高亮显示

rtbox.SelectionLength = Len(txtbox.Text)

rtbox.Focus()

Else

MsgBox("没找到!")

End If

End Sub

Private Sub find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles find.Click

FindText(1)

End Sub

Private Sub findnext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles findnext.Click

FindText(MyPos + 1)

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closepanel.Click

Panel1.Visible = False

End Sub

'*************************************************************************************************************

'下面这段程序,用作拖拽“查找面板”使用

Dim dragging As Boolean

Dim mousex As Integer

Dim mousey As Integer

Private Sub panel1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown

If e.Button = MouseButtons.Left Then

dragging = True

mousex = -e.X

mousey = -e.Y

Dim clipleft As Integer = Me.PointToClient(MousePosition).X - Panel1.Location.X

Dim cliptop As Integer = Me.PointToClient(MousePosition).Y - Panel1.Location.Y

Dim clipwidth As Integer = Me.ClientSize.Width - (Panel1.Width - clipleft)

Dim clipheight As Integer = Me.ClientSize.Height - (Panel1.Height - cliptop)

Cursor.Clip = Me.RectangleToScreen(New Rectangle(clipleft, cliptop, clipwidth, clipheight))

Panel1.Invalidate()

End If

End Sub

Private Sub panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove

If dragging Then

'移动控件到新的位置

Dim MPosition As New Point()

MPosition = Me.PointToClient(MousePosition)

MPosition.Offset(mousex, mousey)

'确实控件不能离开主窗口

Panel1.Location = MPosition

End If

End Sub

Private Sub panel1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp

If dragging Then

'结束拖拽

dragging = False

Cursor.Clip = Nothing

Panel1.Invalidate()

End If

End Sub

'****************************************************************************************************************

Private Sub replace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mpreplace.Click

rtbox.Text = rtbox.Text.Replace(txtbox.Text, rpbox.Text)

End Sub

Private Sub mFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mFind.Click

Panel1.Visible = True

End Sub

Private Sub mFindnext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mFindnext.Click

FindText(MyPos + 1)

End Sub

Private Sub mReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mReplace.Click

rtbox.Text = rtbox.Text.Replace(txtbox.Text, rpbox.Text)

End Sub

End Class

'完。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有