以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  文本框中查找到的字符,如何高亮显示?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=12350)

--  作者:yangming
--  发布时间:2011/8/30 15:20:00
--  文本框中查找到的字符,如何高亮显示?

文本框中查找到的字符,如何高亮显示?

比如,文本框1里输入了一行字符串,文本框2中输入要查找的字符,当我在文本框1中查找到字符后,如何让其能高亮显示?

我的代码如下:

Dim t1,t2 As String
t1=e.Form.Controls("TextBox1").text
t2=e.Form.Controls("TextBox2").text
If t2 <> "" Then
    If Instr(t1,t2) <> 0 Then
        e.Form.Controls("TextBox1").SelectionStart = Instr(t1,t2)-1
        e.Form.Controls("TextBox1").SelectionLength = Len(t2)
    Else
        MessageBox.Show("没有找到!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
    End If
Else
    MessageBox.Show("请输入要查找的字符!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
End If

[此贴子已经被作者于2011-8-30 15:21:07编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/30 15:26:00
--  
代码没看出问题来,难道不行?
--  作者:blackzhu
--  发布时间:2011/8/30 15:30:00
--  
老大,杨姐姐要问如何高亮显示,代码不是显示高亮的吧?
--  作者:狐狸爸爸
--  发布时间:2011/8/30 15:32:00
--  

Dim t1,t2 As String
t1=e.Form.Controls("TextBox1").text
t2=e.Form.Controls("TextBox2").text

e.Form.Controls("TextBox1").Select()
If t2 <> "" Then
    If Instr(t1,t2) <> 0 Then
        e.Form.Controls("TextBox1").SelectionStart = Instr(t1,t2)-1
        e.Form.Controls("TextBox1").SelectionLength = Len(t2)
    Else
        MessageBox.Show("没有找到!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
    End If
Else
    MessageBox.Show("请输入要查找的字符!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
End If

[此贴子已经被作者于2011-8-30 15:32:24编辑过]

--  作者:yangming
--  发布时间:2011/8/30 15:41:00
--  
加了贺老师的 这段代码就可以了,呵 e.Form.Controls("TextBox1").Select()

--  作者:lihe60
--  发布时间:2011/8/30 16:24:00
--  

Dim c1 As winform.control=e.Form.controls("textbox1")
Dim c2 As winform.control=e.Form.controls("textbox2")
Dim t1 As String=e.Form.Controls("TextBox1").text
Dim t2 As String=e.Form.Controls("TextBox2").text

c1.Select()
If t2 <> "" Then
    If Instr(t1,t2) <> 0 Then
        c1.SelectionStart = Instr(t1,t2)-1
        c1.SelectionLength = Len(t2)
    Else
        MessageBox.Show("没有找到!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
    End If
Else
    MessageBox.Show("请输入要查找的字符!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
End If

 

这段代码看似没有问题,但不能保存,求助。

[此贴子已经被作者于2011-8-30 16:27:48编辑过]

--  作者:紙上不談兵
--  发布时间:2011/8/30 16:42:00
--  
第一句已错了:
 Dim c1 As
winform.control=e.Form.controls("textbox1")
--  作者:lihe60
--  发布时间:2011/8/30 16:46:00
--  
以下是引用紙上不談兵在2011-8-30 16:42:00的发言:
第一句已错了:
 Dim c1 As
winform.control=e.Form.controls("textbox1")

但第三行是对的


--  作者:紙上不談兵
--  发布时间:2011/8/30 16:48:00
--  
以下是引用lihe60在2011-8-30 16:46:00的发言:

但第三行是对的


Dim c1,c2 As WinForm.TextBox

c1 = e.Form.controls("textbox1")

c2 = e.Form.controls("textbox2")

Dim t1,t2,t3 As String

t1=e.Form.Controls("TextBox1").value

t2=e.Form.Controls("TextBox2").value


c1.Select()

If t2 <> "" Then

    If Instr(t1,t2) <> 0 Then

        c1.SelectionStart = Instr(t1,t2)-1

        c1.SelectionLength = Len(t2)

    Else

        MessageBox.Show("没有找到!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)

    End If

Else

    MessageBox.Show("请输入要查找的字符!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)

End If


--  作者:紙上不談兵
--  发布时间:2011/8/30 17:08:00
--  
不习惯将MessageBox.Show写两次:

Dim c1,c2 As WinForm.TextBox
c1 = e.Form.controls("textbox1")
c2 = e.Form.controls("textbox2")
Dim t1,t2,t3 As String
t1=c1.value
t2=c2.value


t3 =iif(t2 = "","请输入要查找的字符!",iif(Instr(t1,t2) = 0,"没有找到!",""))
If t3  = "" Then
    c1.Select()
    c1.SelectionStart = Instr(t1,t2)-1
    c1.SelectionLength = Len(t2)
Else
    MessageBox.Show(t3, "提示",MessageBoxButtons.ok, MessageBoxIcon.Question)
End If
[此贴子已经被作者于2011-8-30 17:18:21编辑过]