以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  有没有办法在窗体设计中 实现命令窗口中 使用output.show()后的输出效果内容显示呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145381)

--  作者:李孝春
--  发布时间:2020/1/17 17:42:00
--  有没有办法在窗体设计中 实现命令窗口中 使用output.show()后的输出效果内容显示呢?
有没有办法在窗体设计中 实现命令窗口中 使用output.show()后的输出效果内容显示呢?

想在一个窗体中,显示运行状态结果输出  便于用户直观看见数据的流动情况

图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/1/17 20:22:00
--  
窗口添加一个文本框,设置为多行,然后显示需要的字符即可,字符换行使用vbcrlf
--  作者:李孝春
--  发布时间:2020/1/17 20:33:00
--  回复:(有点蓝)窗口添加一个文本框,设置为多行,然...
设置文本框的文本等于output内容
但是怎么滚动刷新显示呢?

If Forms("案件信息").Opened Then
    Dim lsts As New List(Of String())
    lsts= DataTables("案件基本信息").SQLGetValues("承办人|部门受案号|审结处理结果|是否关联" ,"操作单位=\'" & _usergroup & "\'")
    For Each lst As String() In lsts
        Output.Show( lst(0) & "--" & lst(1) & "--" & lst(2) & "--" & lst(3))
        If lst(3)="" Then
            Output.Show("无关联人信息")
            If lst(2)="" Then
                Output.Show("审理中")
                Dim lsts1 As New List(Of String())
                lsts1= DataTables("职务").SQLGetValues("职务人员|职务类型" ,"操作单位=\'" & _usergroup & "\'and 制单人=\'" & lst(0) &"\' ")
                For Each lst1 As String() In lsts1
                    \'Output.Show( lst1(0) & "--" & lst1(1))
                    Dim r1 As DataRow = DataTables("案件基本信息").sqlfind("承办人 = \'" & lst(0) & "\'and 操作单位=\'" & _usergroup & "\'  and  部门受案号 = \'" & lst(1) & "\' ")
                    Output.Show(r1("嫌疑人姓名"))
                    Dim dr21 As DataRow = DataTables("告知内容").sqlfind("姓名 = \'" & lst1(0) & "\'and 操作单位=\'" & _usergroup & "\'  and  部门受案号 = \'" & lst(1) & "\' ")
                    If dr21 Is Nothing Then \'如果不存在同编号的订单
                        Output.Show("我没有数据哦")
                        
                    End If
                Next
                
            Else
                
            End If
        End If
        
        Dim t As WinForm.TextBox = e.Form.Controls("TextBox1")
        t.Text=lst(0) & "--" & lst(1)
    Next
    
End If

这个代码只显示了最后一行的数据  

--  作者:有点蓝
--  发布时间:2020/1/17 21:22:00
--  
Dim t As WinForm.TextBox = e.Form.Controls("TextBox1")
        t.Text= t.Text & lst(0) & "--" & lst(1)
……
        t.Text= t.Text & 其它人1
……
        t.Text= t.Text & 其它人2
……
        t.Text= t.Text & 其它人3

--  作者:李孝春
--  发布时间:2020/1/19 11:01:00
--  回复:(有点蓝)Dim t As WinForm.TextBox = e.Form....
Dim lsts As New List(Of String())
lsts= DataTables("案件基本信息").SQLGetValues("承办人|部门受案号|审结处理结果|是否关联" ,"操作单位=\'" & _usergroup & "\'")
For Each lst As String() In lsts
    Dim t As WinForm.TextBox = e.Form.Controls("TextBox1")
    t.Text= t.Text & lst(0) & "--" & lst(1) & Chr(13) & Chr(10)
Next

修改为上述代码之后   居然不回车 不换行

同样
图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
代码运行时候 ,为什么是空白呢?
代码运行结束后才会有数据显示出来

图片点击可在新窗口打开查看此主题相关图片如下:22.jpg
图片点击可在新窗口打开查看


有没有办法纠正  让数据实时显示出来,当数据为最后数据的时候  增加一个提示  比如“当前数据已经导入完毕!”

--  作者:有点蓝
--  发布时间:2020/1/19 11:19:00
--  
回车换行要放到拼字符串的中间:

Dim t As WinForm.TextBox = e.Form.Controls("TextBox1") ‘这一句代码不应该放到循环里面
For Each lst As String() In lsts 
    t.Text= t.Text & vbcrlf & lst(0) & "--" & lst(1) 
Next

Dim sbu As new StringBuilder
For Each lst As String() In lsts
    sbu.AppendLine(lst(0) & "--" & lst(1) )
Next
Dim t As WinForm.TextBox = e.Form.Controls("TextBox1")
t.Text= sbu.ToString

--  作者:李孝春
--  发布时间:2020/1/19 11:37:00
--  回复:(有点蓝)回车换行要放到拼字符串的中间:Dim ...
谢谢有点蓝老师 
换行问题完美了
 
代码运行时不显示实时数据   运行完毕才显示数据
这个有没有办法修正为 代码运行时也会实时显示数据呢?

--  作者:有点蓝
--  发布时间:2020/1/19 11:40:00
--  
Dim t As WinForm.TextBox = e.Form.Controls("TextBox1") ‘这一句代码不应该放到循环里面
For Each lst As String() In lsts 
    t.Text= t.Text & vbcrlf & lst(0) & "--" & lst(1) 
Application.DoEvents
Next

--  作者:李孝春
--  发布时间:2020/1/19 14:41:00
--  回复:(有点蓝)Dim t As WinForm.TextBox = e.Form....
OK 谢谢有点蓝老师   现在实现了数据的即时刷新显示  能不能直接在定位到末尾数据呢?也就是滚动条直接被拉到底端的效果,这样的话就和命令窗口显示的效果一样啦
--  作者:有点蓝
--  发布时间:2020/1/19 14:52:00
--  
参考:http://www.foxtable.com/webhelp/topics/0761.htm

t.SelectionStart = t.text.Length