Foxtable(狐表)用户栏目专家坐堂 → 为什么我代码如下后,需要点两次运行 才能显示图片呢


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

主题:为什么我代码如下后,需要点两次运行 才能显示图片呢

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
为什么我代码如下后,需要点两次运行 才能显示图片呢  发帖心情 Post By:2020/5/7 16:00:00 [只看该作者]

Dim pc2 As WinForm.PictureBox = e.Form.Controls("PictureBox1")
Dim kp As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim web1 As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web1.Address = Nothing


If FileSys.DirectoryExists(ProjectPath & "预览文件") Then '如果目录存在
    
    If Tables("收文列表.文件附件").Current Is Nothing Then
        Return
    End If
    
    Dim dr As DataRow = Tables("收文列表.文件附件").Current.DataRow
    
    Dim fl As String =  ProjectPath & "预览文件\" &  dr("文件名")
    If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
        '则直接使用本地文件
        If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") Then
            pc2.Image= GetImage(fl)
            kp.SelectedIndex=0
        Else  If fl.EndsWith(".txt") OrElse fl.EndsWith(".zip") OrElse fl.EndsWith(".rar") OrElse fl.EndsWith(".pdf") OrElse fl.EndsWith(".exe") Then
            Dim Proc As New Process '打开文件
            Proc.File = fl
            Proc.Start()
        Else
            web1.Address = fl
            kp.SelectedIndex=1
        End If
        
    Else '否则从数据库提取文件
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        End If
    End If
End If

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


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

看不出什么问题。图片框是不是绑定了列?去掉绑定

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)看不出什么问题。图片框是不是绑定了...  发帖心情 Post By:2020/5/7 16:30:00 [只看该作者]

有点蓝老师  图片框和网页组件都没有绑定列哦

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/7 16:31:00 [只看该作者]

做个例子发上来测试一下

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)做个例子发上来测试一下  发帖心情 Post By:2020/5/7 17:09:00 [只看该作者]

有点蓝  老师  好的  稍后我回电脑旁边了传过来

[此贴子已经被作者于2020/5/7 17:41:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/7 17:58:00 [只看该作者]


以下内容是专门发给李孝春浏览



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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)[UserName=李孝春][upload=zip,收文助...  发帖心情 Post By:2020/5/8 9:19:00 [只看该作者]

有点蓝老师  请教一下  为什么加上红色部分后就没有点击两次的情况了呢!
    If Tables("收文列表.文件附件").Current Is Nothing Then
        Return
    End If
    
    Dim dr As DataRow = Tables("收文列表.文件附件").Current.DataRow
    
    Dim fl As String =  ProjectPath & "预览文件\" &  dr("文件名")
    'If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
    '则直接使用本地文件
    If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") Then
        pc2.Image= GetImage(fl)
        kp.SelectedIndex=0
    Else  If  fl.EndsWith(".zip") OrElse fl.EndsWith(".rar")  OrElse fl.EndsWith(".exe") Then  'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse
        Dim Proc As New Process '打开文件
        Proc.File = fl
        Proc.Start()
    Else
        web1.OfficeToolBar = False
        web1.Address = fl
        kp.SelectedIndex=1
    End If
    
    'Else '否则从数据库提取文件
    If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
        
        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Return
    Else
        pc2.Image= GetImage(fl)
    End If
    'End If


另外在请教一下  web浏览器一般都可以选择编码   狐表中WebBrowser怎么定义编码为utf-8呢?

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


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

第一次没有文件的时候,dr.SQLLoadFile("附件",fl)只是保存图片文件,并没有赋值给图片控件。

 回到顶部