首先是picturebox:
我使用如下的代码,确定是不是某产品是不是有预览图,(预览图就是让上传一个CAD生成的图像文件 ),如果FTP 服务器上有该文件,就显示该文件,如果没有,就显示本地的文件。
经过试用,可以正确判断是否有预览文件。
Dim ftp As new FTPClient
Tables("表A").Position =0 '移动到第一行,以免出错
ftp.Host=trim(Tables("表A").current("FTP服务器"))
ftp.Account = trim(Tables("表A").current("FTP账号"))
ftp.password = trim(Tables("表A").current("FTPpswd"))
If ftp.DirExists("\product\" & trim(Tables("pdm_产品").current("总装图号")) & "\")=False Then
ftp.makedir ("\product\" & trim(Tables("pdm_产品").current("总装图号")) & "\")
End If
ftp.RootDir="\product\" & trim(Tables("pdm_产品").current("总装图号"))
''ftp.OpenManager()
'Dim 有无预览图 As Boolean
If ftp.fileExists(trim(Tables("pdm_产品").current("预览图")))=False Then
有预览图 = False
Else
有预览图 = True
End If
'===>> 至此,运行正确,下方的else也运行正确。With e.Form.controls("预览图")
If 有预览图 Then
.BindingField ="pdm_产品.预览图"
.Remote = True
.FTPClient=ftp
Else
.Remote = False
.ImageFile="无预览图.jpg"
End If
End With
现在请教,1、难道不能动态设置FTPClient吗?还是有别的办法?我需要动态更改FTP服务器的,测试过,在控件“预览图”(是个picturebox)中直接设置FTP服务器的信息,可以实现自动下载文件并显示预览文件。2、本地文件,如果设置"远程文件"为true,picturebox会自己下载该文件到工程路径的RemoteFiles文件夹下去。能不能更改到别的地方去?怎么改?
再请教PirctureViewer:
我想用同样的方法向PictureViewer设置FTPClient,结果是选择添加文件以后,它会自动把文件复制到项目的Attachments文件夹下去,我通过代码可以把文件上传到FTP服务器,保存数据库,也能更新数据库中相应字段的内容。
现在请教:1、如果本地的Attachments下有文件,它会显示文件内容;如果没有,它不会自动下载并显示;这个用代码怎么解决? 2、设置为远程文件以后,下载的文件能不能指定存放位置?
picturebox和pictureviewer的设置如附件。

此主题相关图片如下:pictureviewer.png


此主题相关图片如下:picturebox.png

谢谢板主!
[此贴子已经被作者于2020/9/1 10:24:48编辑过]