Imports System.Data.OleDbPublic Class Form1'小目录简写Dim jiuyue As String() = {"创", "出", "利", "民", "申", "书", "士", "得", "撒上", "撒下", "王上", "王下", "代上", "代下", "拉", "尼", "斯", "伯", "诗", "箴", "传", "歌", "赛", "耶", "哀", "结", "但", "何", "珥", "摩", "俄", "拿", "弥", "鸿", "哈", "番", "该", "亚", "玛"}Dim xinyue As String() = {"太", "可", "路", "约", "徒", "罗", "林前", "林后", "加", "弗", "腓", "西", "帖前", "帖后", "提前", "提后", "多", "门", "来", "雅", "彼前", "彼后", "约壹", "约贰", "约叁", "犹", "启"}'目录Dim mulu As String() = {"律法书", "历史书", "诗歌·智慧书", "先知书", "四福音", "教会历史", "书信", "对约翰的启示"}'小目录Dim lfs As String() = {"创世记", "出埃及记", "利未记", "民数记", "申命记"}Dim lss As String() = {"约书亚记", "士师记", "路得记", "撒母耳记上", "撒母耳记下", "列王纪上", "列王纪下", "历代志上", "历代志下", "以斯拉记", "尼希米记", "以斯帖记"}Dim sgzhs As String() = {"约伯记", "诗篇", "箴言", "传道书", "雅歌"}Dim xzs As String() = {"以赛亚书", "耶利米书", "耶利米哀歌", "以西结书", "但以理书", "何西阿书", "约珥书", "阿摩司书", "俄巴底亚书", "约拿书", "弥迦书", "那鸿书", "哈巴谷书", "西番雅书", "哈该书", "撒迦利亚书", "玛拉基书"}Dim sfy As String() = {"马太福音", "马可福音", "路加福音", "约翰福音"}Dim jhls As String() = {"使徒行传"}Dim sx As String() = {"罗马书", "哥林多前书", "哥林多后书", "加拉太书", "以弗所书", "腓立比书", "歌罗西书", "帖撒罗尼迦前书", "帖撒罗尼迦后书", "提摩太前书", "提摩太后书", "提多书", "腓利门书", "希伯来书", "雅各书", "彼得前书", "彼得后书", "约翰一书", "约翰二书", "约翰三书", "犹大书"}Dim dyhdqs As String() = {"启示录"}'整本圣经目录Dim hb As String()() = {lfs, lss, sgzhs, xzs, sfy, jhls, sx, dyhdqs}'富文本控件Dim rtb As RichTextBox = New RichTextBox()'鼠标右键菜单Dim cms As ContextMenuStrip = New ContextMenuStrip()Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load'富文本控件样式rtb.Dock = DockStyle.Fillrtb.Font = New Font("黑体", 70, FontStyle.Bold)rtb.BackColor = Color.Blackrtb.ReadOnly = True'循环遍历菜单For i = 0 To hb.Length - 1Dim tsmi_mulu As ToolStripMenuItem = New ToolStripMenuItem(mulu(i))cms.Items.Add(tsmi_mulu)For j = 0 To hb(i).Length - 1Dim tsmi As ToolStripMenuItem = New ToolStripMenuItem(hb(i)(j))tsmi_mulu.DropDownItems.Add(tsmi)AddHandler tsmi.Click, AddressOf tsmiClick '声明一个事件委托Next jNext iMe.Size = New Size(1000, 700) '窗口1000*700Me.WindowState = FormWindowState.Maximized '窗口最大化rtb.ContextMenuStrip = cms '设置rtb的右键菜单是cms菜单Me.Controls.Add(rtb) '把控件加到form里面End SubPrivate Sub tsmiClick(sender As Object, e As EventArgs)Dim s As String = CType(sender, ToolStripMenuItem).Text '强制转换sender变成菜单项selecthb(s)End SubPrivate Sub selecthb(FullName As String)Dim s As String = InputBox("输入章节,中间用-分开", "输入章节,中间用-分开", "1-1")If s = Nothing ThenReturnElseIf s.Equals("") ThenReturnEnd IfDim fenge As String() = s.Split("-")If fenge.Length < 2 ThenReturnEnd IfIf Not IsNumeric(fenge(0).Trim()) Or Not IsNumeric(fenge(1).Trim()) ThenReturnEnd IfMe.rtb.Text = ""Using con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bibleNosound.dat;Persist Security Info=True;Jet OLEDB:Database Password=pasitoldata")Using cmd As OleDbCommand = New OleDbCommand("select * from bible, bibleid where bible.VolumeSN = bibleid.SN and FullName = @FullName and ChapterSN = @ChapterSN and VerseSN >= @VerseSN", con)cmd.Parameters.AddWithValue("FullName", FullName)cmd.Parameters.AddWithValue("ChapterSN", fenge(0))cmd.Parameters.AddWithValue("VerseSN", fenge(1))con.Open()Using sdr As OleDbDataReader = cmd.ExecuteReader()Dim i As Integer = 0While sdr.Read()If i Mod 3 = 0 Then '隔行变色Me.rtb.SelectionColor = Color.CyanElseIf i Mod 3 = 1 ThenMe.rtb.SelectionColor = Color.MagentaElseMe.rtb.SelectionColor = Color.YellowEnd IfMe.rtb.AppendText(sdr("ShortName") & ":" & sdr("ChapterSN") & ":" & sdr("VerseSN") & sdr("strjw") & Chr(13)) '每次循环追加新内容i += 1End WhileEnd UsingEnd UsingEnd UsingMe.rtb.Select(0, 0)Me.rtb.Focus()End SubEnd Class