Foxtable(狐表)用户栏目专家坐堂 → 怎么实现文件对话框的动态路径?


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

主题:怎么实现文件对话框的动态路径?

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


加好友 发短信
等级:婴狐 帖子:34 积分:287 威望:0 精华:0 注册:2019/8/18 22:38:00
怎么实现文件对话框的动态路径?  发帖心情 Post By:2019/9/2 19:36:00 [只看该作者]

各位老师,我这个代码有没有问题?怎么一打开窗口就不断的弹出文件对话框?请教一下,该怎么实现文件对话框的动态路径?谢谢。

For Each c As WinForm.Control In e.Form.Controls
    If Typeof c Is WinForm.PictureViewer Then '判断控件是否是PictureViewer
        Dim dlg As New OpenFileDialog '定义一个新的文件选择框
        dlg.MultiSelect = False '不允许选择多个文件
        dlg.Filter= "图形文件|*.jpg;*.jpeg"  '筛选条件为图形文件
        dlg.InitialDirectory  = Vars("mulu") '打开对话框时,显示的目录为全局变量mulu中值
        If dlg.ShowDialog = DialogResult.OK Then '用户点击确认后
            Dim ls As String = FileSys.GetParentPath(dlg.FileName)&"\" '获取文件所在目录
            If ls > "" Then
                Vars("mulu") = ls '重新赋值全局变量mulu
            End If
        End If
    End If
Next

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


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

没看懂这个代码到底要做什么

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


加好友 发短信
等级:婴狐 帖子:34 积分:287 威望:0 精华:0 注册:2019/8/18 22:38:00
回复:(有点蓝)没看懂这个代码到底要做什么  发帖心情 Post By:2019/9/2 22:04:00 [只看该作者]

我想在窗口中的每一个pictureview,点增加照片时,所弹出的文件对话框,打开的目录是前一个pictureview添加文件时的目录。

例如:A pictureview,增加照片时在 C :\aa1\ 下选择了一张图片。
        那么之后,b pictureview 添加照片时,弹出的文件选择框显示的目录也是 C :\aa1\ 
        c、d、e...所有的pictureview也一样,
        若突然一个,在 D :\ggc1\ 路径下选择了文件,那么,返回 A pictureview 增加照片所弹出的文件选择框显示的目录也变成  D :\ggc1\ 
       

这个能实现吗?

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


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

这个无法设置。

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


加好友 发短信
等级:婴狐 帖子:34 积分:287 威望:0 精华:0 注册:2019/8/18 22:38:00
回复:(有点蓝)这个无法设置。  发帖心情 Post By:2019/9/2 22:51:00 [只看该作者]

这个我倒是换成picturebox,利用每个picturebox的Click事件实现了。
但关闭窗口时,picturebox不能释放内存,即使在关闭前选中一行没有图片的行,然后再关闭,也不能释放内存。
可是这个pictureview没有事件代码,真不知道该如何处理了。

Dim r As Row = Tables("临时图片").Current
Dim d As String = "图片01"
If r(d) > "" Then
    Dim nm As String = r(d)
    Dim Proc As New Process '打开工作簿
    Proc.File = nm
    Proc.Start()
Else
    Dim dlg As New OpenFileDialog '定义一个新的文件选择框
    dlg.MultiSelect = False '不允许选择多个文件
    dlg.Filter= "图形文件|*.jpg;*.jpeg"  '筛选条件为图形文件
    dlg.InitialDirectory  = Vars("mulu") '打开对话框时,显示的目录为全局变量mulu中值
    If dlg.ShowDialog = DialogResult.OK Then '用户点击确认后
        r(d) = dlg.FileName '单元格中填入含路径的文件名
        Dim ls As String = FileSys.GetParentPath(dlg.FileName) '获取文件所在目录
        If ls > "" Then
            Vars("mulu") = ls '重新赋值全局变量mulu
        End If
    End If
End If

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


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

不能释放内存的问题做个实例发上来测试

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


加好友 发短信
等级:婴狐 帖子:34 积分:287 威望:0 精华:0 注册:2019/8/18 22:38:00
回复:(有点蓝)不能释放内存的问题做个实例发上来测...  发帖心情 Post By:2019/9/2 23:54:00 [只看该作者]

嗯嗯,我做好了实例,麻烦蓝老师帮忙看看。
平时加载的图片都差不多1M一张,本来想上传几张给老师您测试的,可能太大,上传不了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实例2.rar

[此贴子已经被作者于2019/9/2 23:57:43编辑过]

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


加好友 发短信
等级:婴狐 帖子:34 积分:287 威望:0 精华:0 注册:2019/8/18 22:38:00
  发帖心情 Post By:2019/9/2 23:58:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:c360_2019-08-26-11-23-17-054.jpg
图片点击可在新窗口打开查看

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


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

请先更新Foxtable到最新版

 回到顶部