Foxtable(狐表)用户栏目专家坐堂 → 怎么样理解窗口停止绘制


  共有3370人关注过本帖树形打印复制链接

主题:怎么样理解窗口停止绘制

帅哥哟,离线,有人找我吗?
aidimeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
怎么样理解窗口停止绘制  发帖心情 Post By:2019/7/26 13:50:00 [只看该作者]

开发中遇到一个问题,图片的 text 窗口在执行下面代码后 text控件的值不显示了
        Functions.Execute("写库",1)
        Vars("i") =Vars("pdqty1")
t.Text= Functions.Execute("提取结果",s)
        e.Form.StopRedraw()

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190726134630.png
图片点击可在新窗口打开查看

 

正常显示是这样


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190726134914.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/7/26 13:52:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/26 14:11:00 [只看该作者]

去掉这句代码:e.Form.StopRedraw()

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/7/26 14:13:00 [只看该作者]

想停止绘制窗口,但还想text上面有值

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/26 14:32:00 [只看该作者]

都停止绘制了,界面肯定无法变化啊,这不是矛盾么

何况StopRedraw和resumeRedraw是整对出现的,resumeRedraw之前界面都不会有任何变化

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/7/29 8:23:00 [只看该作者]

代码写在窗口的计时器里,每1000ms 读取一次串口数据,把串口数据赋值给text。想实现 在串口数据不变时 text不变在闪动。

 

Ports("COM1").Write(CHR(73))
Ports("COM1").Write(CHR(13))
Ports("COM1").Write(CHR(10))
'Ports("COM1").Write("SI")
'Ports("COM1").Write("CRLF")
Dim t As WinForm.TextBox = e.Form.Controls("t1")

 

 

Dim s As String=Ports("COM1").ReadExisting
t.Text= Functions.Execute("提取结果",s)

 

If s.Contains("S D")  Then
 'e.Form.ResumeRedraw()
    t.BackColor= Color.Red
    Vars("i") =0
    'vars("i")  =Functions.Execute("提取结果",s)
Else
   
    t.BackColor=Color.Gray

    

   
    Vars("pdqty1") = 0
    Vars("pdqty1") = CInt(t.Text)
    If Vars("i")<> Vars("pdqty1")
        Functions.Execute("写库",1)
        Vars("i") =Vars("pdqty1")
't.Text= Functions.Execute("提取结果",s)
        e.Form.StopRedraw()
    End If
End If

[此贴子已经被作者于2019/7/29 8:24:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/29 8:50:00 [只看该作者]

Ports("COM1").Write(CHR(73))
Ports("COM1").Write(CHR(13))
Ports("COM1").Write(CHR(10))
'Ports("COM1").Write("SI")
'Ports("COM1").Write("CRLF")
Dim t As WinForm.TextBox = e.Form.Controls("t1")

 

 

Dim s As String=Ports("COM1").ReadExisting

dim jg as string = Functions.Execute("提取结果",s)

if jg = t.text then return '如果结果和文本框内容一致就返回

t.Text= jg

If s.Contains("S D")  Then
    t.BackColor= Color.Red

Else
    t.BackColor=Color.Gray

end if

Functions.Execute("写库",1)


 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/7/29 8:55:00 [只看该作者]

谢谢 我试试

 回到顶部