VB里有两个窗体,一个放text,另外一个窗体用做记事本那样的查找框,求代码!
都不理解我的提问啊,我要的是查找窗口一直在,并且有“查找下一个”的功能,打开个记事本再”Ctrl+F“ 看看那个啊,我就是要那样的,替换功能就不用了 展开
Form1的代码:
Option Explicit
Private Sub Command1_Click()
Form2.Show vbModal
End Sub
Form2的代码:
Option Explicit
Private n As Long '记忆开始位置
Private Sub Command1_Click()
Dim nStar As Long
Dim nEnd As Long
Dim SLen As Integer
Dim SKey As String
SKey = Trim(Text1.Text)
n = InStr(n + Form1.Text1.SelLength, Form1.Text1.Text, SKey)
If n = 0 Then
MsgBox "找不到查找字符!"
n = 1
Else
Label2.Caption = n
nStar = n - 1
SLen = Len(SKey)
Form1.Text1.SelStart = nStar
Form1.Text1.SelLength = SLen
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Text1_Change()
n = 1
End Sub
可以多次查找!!!你没有用怎么知道?
Label2 是哪个
在窗体Form2上放一个就是了
Dim k
Private Sub Form_Load()
k = 1
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 6 Then ‘’‘’‘’‘’ctrl+“F”
a = InputBox("需要查找的内容", "查找")
Form1.Text1.SelStart = InStr(k, Text1.Text, a, vbTextCompare) - 1
Form1.Text1.SelLength = Len(a)
k = InStr(k, Text1.Text, a, vbTextCompare) + 1
If k > Len(Text1.Text) Then k = 1
End If
End Sub
这个只能查一次,我要的是记事本那样的,那个窗口一直在,并且可以“查找下一个”的哦
这个虽然查一次,关一次,但是实现了查找下一个的功能。你可以试试!
或者你可以建个模块来定义全局变量。