Foxtable(狐表)用户栏目专家坐堂 → 关于图片选择


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

主题:关于图片选择

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12684 威望:0 精华:0 注册:2017/4/3 15:01:00
关于图片选择  发帖心情 Post By:2017/11/20 8:23:00 [只看该作者]

(1)窗体中"PictureViewer"控件怎么设置为按键盘上的上键、下键来对本条记录内的图片进行切换?
(2)怎样根据图片名来设置"PictureViewer"的宽度和高度呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 8:43:00 [只看该作者]

1、去编写keydown事件。写类似代码

 

Dim obj As object = Forms("窗口1").Controls("PictureViewer1").basecontrol.Controls(0)
Dim pic As Object = obj.panel1.controls("PictureSplitContainer").Panel1.controls("panel2").controls("C1PictureBox1")
pic.image = getimage("d:\test.jpg")

 

2、不理解你什么意思,逻辑是什么,为什么这样做,实例说明。


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12684 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/11/20 9:07:00 [只看该作者]

(2)、就是我的图片大小不一样,但是每一条记录中的图片大小有规律,我想根据图片文件名所包含的相关文字不同来设置"PictureViewer"控件的大小

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 9:31:00 [只看该作者]

以下是引用裴保民在2017/11/20 9:07:00的发言:
(2)、就是我的图片大小不一样,但是每一条记录中的图片大小有规律,我想根据图片文件名所包含的相关文字不同来设置"PictureViewer"控件的大小

 

设置控件大小这样写

 

e.form.controls("控件名").width = 100

e.form.controls("控件名").height = 200


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12684 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/11/20 10:24:00 [只看该作者]

按键盘上的左键或右键来实现上一图片或下一图片浏览图片,就像控件全屏显示的上一条下一条似的,不过按键是在本条内图片浏览,怎么实现呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 11:14:00 [只看该作者]

测试了一下,无法控制pictureviewer控件的,即便控制了,也会造成不同步的情况出现。

 

If e.keycode = Keys.left Then
    Dim obj As object = Forms("窗口1").Controls("PictureViewer1").basecontrol.Controls(0)
    Dim pic As Object = obj.panel1.controls("PictureSplitContainer").Panel1.controls("panel2").controls("C1PictureBox1")
    Dim r As Row = Tables("表A").current
    Dim ls As List(Of String) = r.DataRow.Lines("第一列")
    Dim piv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
    Dim str As String = FileSys.GetName(piv.SelectedItem)
    If vars("i") = 0 Then
        For i As Integer = 0 To ls.count-1
            If ls(i).Contains(str) Then
                If i > 0 Then
                    pic.image = getimage(ProjectPath & "attachments/" & ls(i-1))
                    vars("i") = i-1
                End If
            End If
        Next
    Else
        pic.image = getimage(ProjectPath & "attachments/" & ls(vars("i")-1))
        vars("i") -= 1
    End If
    e.cancel = True
ElseIf e.keycode = Keys.right Then
    e.cancel = True
End If

 

放弃这个想法吧。如果要做,建议自己做一个picturebox来显示图片


 回到顶部