以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么多行文本框不自动下滑到最底部呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170556)

--  作者:cnsjroom
--  发布时间:2021/7/30 10:44:00
--  为什么多行文本框不自动下滑到最底部呢?
为什么多行文本框不自动下滑到最底部呢?  麻烦老师帮忙看看    谢谢!

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

按钮事件代码:
MyTimers("计划1").Enabled = False \'启动计划2

Dim t7 As WinForm.TextBox = Forms("主窗体").Controls("textbox1")
t7.text=""
Dim dt = t7.BaseControl
Dim s1 As WinForm.TextBox = e.Form.Controls("1")
If cint(s1.text)>0 Then
    MyTimers("循环执行导出Device").Enabled = True \'启动计划2
    MyTimers("循环执行导出Device").Interval = cint(s1.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s2 As WinForm.TextBox = e.Form.Controls("2")
If cint(s2.text)>0 Then
    MyTimers("循环执行导出DeviceStatus").Enabled = True \'启动计划2
    MyTimers("循环执行导出DeviceStatus").Interval = cint(s2.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s3 As WinForm.TextBox = e.Form.Controls("3")
If  cint(s3.text)>0 Then
    MyTimers("循环执行导出Department").Enabled = True \'启动计划2
    MyTimers("循环执行导出Department").Interval = cint(s3.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s4 As WinForm.TextBox = e.Form.Controls("4")
If  cint(s4.text)>0 Then
    MyTimers("循环执行导出typeofwork").Enabled = True \'启动计划2
    MyTimers("循环执行导出typeofwork").Interval = cint(s4.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s5 As WinForm.TextBox = e.Form.Controls("5")
If  cint(s5.text)>0 Then
    MyTimers("循环执行导出realdata").Enabled = True \'启动计划2
    MyTimers("循环执行导出realdata").Interval = cint(s5.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s6 As WinForm.TextBox = e.Form.Controls("6")
If cint(s6.text)>0 Then
    MyTimers("循环执行导出dayrunrecord").Enabled = True \'启动计划2
    MyTimers("循环执行导出dayrunrecord").Interval = cint(s6.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s7 As WinForm.TextBox = e.Form.Controls("7")
If cint(s7.text)>0 Then
    MyTimers("循环执行导出AreaConfig").Enabled = True \'启动计划2
    MyTimers("循环执行导出AreaConfig").Interval = cint(s7.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s8 As WinForm.TextBox = e.Form.Controls("8")
If cint(s8.text)>0 Then
    MyTimers("循环执行导出classset").Enabled = True \'启动计划2
    MyTimers("循环执行导出classset").Interval = cint(s8.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s9 As WinForm.TextBox = e.Form.Controls("9")
If  cint(s9.text)>0 Then
    MyTimers("循环执行导出JobPosition").Enabled = True \'启动计划2
    MyTimers("循环执行导出JobPosition").Interval = cint(s9.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s10 As WinForm.TextBox = e.Form.Controls("10")
If cint(s10.text)>0 Then
    MyTimers("循环执行导出protitle").Enabled = True \'启动计划2
    MyTimers("循环执行导出protitle").Interval = cint(s10.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If

Dim s11 As WinForm.TextBox = e.Form.Controls("11")
If cint(s11.text)>0 Then
    MyTimers("循环执行导出staff").Enabled = True \'启动计划2
    MyTimers("循环执行导出staff").Interval = cint(s11.text) * 1000 \'计划2的执行间隔改为4秒
    Application.DoEvents
End If


t7.SelectionStart = t7.Text.Length
dt.ScrollToCaret
Application.DoEvents

--  作者:有点蓝
--  发布时间:2021/7/30 10:51:00
--  
估计是计划管理代码影响的。

可以考虑把最新数据插入到第一行

--  作者:cnsjroom
--  发布时间:2021/7/30 11:10:00
--  回复:(有点蓝)估计是计划管理代码影响的。可以考虑...
计划管理的代码都类似如下:
Dim t7 As WinForm.TextBox = Forms("主窗体").Controls("textbox1")
Dim c1 As WinForm.CheckBox = Forms("主窗体").Controls("CheckBox8")
Dim 变量名1 As WinForm.Button = Forms("主窗体").Controls("导出classset")
Dim s1 As WinForm.TextBox = Forms("主窗体").Controls("8")
If c1.Checked=True Then
    If s1.Text<>"" Then
        变量名1.PerformClick
        t7.Text= t7.Text & vbcrlf & Date.now() & "导出classset记录,已生成数据!"
    End If
End If

--  作者:有点蓝
--  发布时间:2021/7/30 11:21:00
--  
把滚动到底部的代码放到计划管理里