首页 > 考试 > 等级考试 > 二级 > Visual Basic >

计算机等级考试二级VB常见问题及解答

2009-02-28

下面有几个较为典型的VB问题的解答,希望能对广大VB爱好者有所帮助。   问题:如何编程使文本框中文本的某一特定字符或字符串同时高亮显示?   答:由于普通TextBox控件不支持不连续字符串的同时高亮显示,所

下面有几个较为典型的VB问题的解答,希望能对广大VB爱好者有所帮助。

  问题:如何编程使文本框中文本的某一特定字符或字符串同时高亮显示?

  答:由于普通TextBox控件不支持不连续字符串的同时高亮显示,所以我们选择RichTextBox控件。单击工程(Project)选单项,在弹出的下拉选单中单击组件(Components)选单项,从弹出的对话框中选择Microsoft Rich Textbox Control 5.0复选框,确定加载RichTextBox控件。

  新建(New)一个工程,在窗体(Form)上添加一个RichTextBox控件和两个Command(按钮)控件,都采用系统默认的Name属性值;设置RichTextBox的Text属性值为空,Command1和Command2的Caption属性值分别设为“输入文本”和“选择字符串”。最后,添加如下VB代码:

Private Sub Command1—Click()

Dim str As String

Dim Text As String

str=″输入文本″

Text=InputBox(str)

RichTextBox1.Text=Text

End Sub

Private Sub Command2—Click()

Dim str As String

Dim Text As String

Dim Position As Integer

Dim Lenth As Integer

str=″输入要高亮显示的字符串″

Text=InputBox(str)

If Text 〈〉 ″″ Then

Position=InStr(RichTextBox1.Text, Text)-1

Lenth=Len(Text)

RichTextBox1.SelStart=Position

[1] [2] [3] [4] [5] 下一页

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Do While InStr(Position+Lenth+1, RichTextBox1.Text, Text) 〈〉 0

Position=InStr(Position+Lenth+1, RichTextBox1.Text, Text)-1

RichTextBox1.SelStart=Position

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Loop

End If

End Sub

  按F5执行程序,单击“输入文本”按钮,在弹出的对话框中输入一些文本,确定后,刚刚输入的文本将显示在RichTextBox中;再单击“选择字符串”按钮,在弹出的对话框中输入你希望高亮显示的字符串,确定后,RichTextBox中相应的字符串将以红色高亮显示。

  问题:如何利用VB编写程序实现Windows 95操作系统的热启动?

  答:要利用程序实现系统的重新启动,可以在你的程序中调用API函数来实现。建一个子函数:(以VB为例)

Declare Function SystemParametersInfo Lib ″user32″ Alias —

″SystemParametersInfo″ (ByVal uAction As Long, ByVal uParam As Long,

ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Sub DisableCtrlAltDelete(bDisabled As Boolean)

Dim X As Long

X=SystemParametersInfo(97, bDisabled, CStr(1), 0)

End Sub

Call DisableCtrlAltDelete(true)  ′禁止热启

Call DisableCtrlAltDelete(false) ′允许热启

上一页 [1] [2] [3] [4] [5] 下一页

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Do While InStr(Position+Lenth+1, RichTextBox1.Text, Text) 〈〉 0

Position=InStr(Position+Lenth+1, RichTextBox1.Text, Text)-1

RichTextBox1.SelStart=Position

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Loop

End If

End Sub

  按F5执行程序,单击“输入文本”按钮,在弹出的对话框中输入一些文本,确定后,刚刚输入的文本将显示在RichTextBox中;再单击“选择字符串”按钮,在弹出的对话框中输入你希望高亮显示的字符串,确定后,RichTextBox中相应的字符串将以红色高亮显示。

  问题:如何利用VB编写程序实现Windows 95操作系统的热启动?

  答:要利用程序实现系统的重新启动,可以在你的程序中调用API函数来实现。建一个子函数:(以VB为例)

Declare Function SystemParametersInfo Lib ″user32″ Alias —

″SystemParametersInfo″ (ByVal uAction As Long, ByVal uParam As Long,

ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Sub DisableCtrlAltDelete(bDisabled As Boolean)

Dim X As Long

X=SystemParametersInfo(97, bDisabled, CStr(1), 0)

End Sub

Call DisableCtrlAltDelete(true)  ′禁止热启

Call DisableCtrlAltDelete(false) ′允许热启

上一页 [1] [2] [3] [4] [5] 下一页

问题:如何把数据文件输出到Text控件中?如果数据量比较大,窗体满屏也不够大,怎么解决?

  答:有一个比较简单的方法,就是把数据放到一个文本框(Text)里,并在其中加上水平和垂直滚动条。具体实现步骤为:先在窗体(Form)里加入一个文本框,采用默认名Text1;然后,设置文本框Text1的属性:Text属性设置为空,MultiLine属性设置为True,ScrollBars属性设置为3-Both;接着添加如下VB代码:

Private Sub Form—Load()

Dim Handle As Integer

Dim FileName As String

On Error GoTo ErrExit

begin:

′输入要显示的数据文件的名称

FileName=InputBox$(″Input Filename″,

″Open File″)

On Error GoTo FileErr

Handle=FreeFile

Open FileName For Input As #Handle

′把数据文件中的数据输出到文本框中

Text1.Text=Input$(LOF(Handle), Handle)

Close #Handle

Exit Sub

FileErr:

Dim ErrNum As Integer

If Err.Number=53 Then

ErrNum=MsgBox(″File not exist″, vbOKCancel, ″Error Information″)

If ErrNum=1 Then

GoTo begin

Else

Exit Sub

End If

End If

MsgBox Err.Description, , ″file open failed″

ErrExit:

Exit Sub

End Sub

′使文本框充满整个窗体

Private Sub Form—Resize()

Text1.Left=0

Text1.Top=0

Text1.Width=Form1.Width-100

Text1.Height=Form1.Height-400

End Sub

上一页 [1] [2] [3] [4] [5] 下一页

想做一个对话窗体,包含驱动器列表框、目录列表框和文件列表框,并能实现三者的同步操作,怎么做?

  答:在实际应用中,经常会遇到上述问题,在VB中解决这个问题非常简单,可以通过Path属性的改变引发Change事件来实现。例如:

Sub Dir1—Change()

File1.Path=Dir1.Path

End Sub

  该事件过程使窗体上的目录列表框Dir1和文件列表框File1产生同步。因为目录列表框Path属性的改变将产生Change事件,所以在Dir1—Change事件过程中,把Dir1.Path赋给File1.Path,就可以产生同步效果。 

上一页 [1] [2] [3] [4] [5]

相关文章
最新文章
热点推荐