以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  为什么我代码如下后,需要点两次运行 才能显示图片呢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149613)

--  作者:李孝春
--  发布时间: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

--  作者:有点蓝
--  发布时间:2020/5/7 16:14:00
--  
看不出什么问题。图片框是不是绑定了列?去掉绑定
--  作者:李孝春
--  发布时间:2020/5/7 16:30:00
--  回复:(有点蓝)看不出什么问题。图片框是不是绑定了...
有点蓝老师  图片框和网页组件都没有绑定列哦
--  作者:有点蓝
--  发布时间:2020/5/7 16:31:00
--  
做个例子发上来测试一下
--  作者:李孝春
--  发布时间:2020/5/7 17:09:00
--  回复:(有点蓝)做个例子发上来测试一下
有点蓝  老师  好的  稍后我回电脑旁边了传过来

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

--  作者:有点蓝
--  发布时间:2020/5/7 17:58:00
--  

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



--  作者:李孝春
--  发布时间:2020/5/8 9:19:00
--  回复:(有点蓝)[UserName=李孝春][upload=zip,收文助...
有点蓝老师  请教一下  为什么加上红色部分后就没有点击两次的情况了呢!
    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呢?

--  作者:有点蓝
--  发布时间:2020/5/8 9:21:00
--  
第一次没有文件的时候,dr.SQLLoadFile("附件",fl)只是保存图片文件,并没有赋值给图片控件。