以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于图片选择  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=109795)

--  作者:裴保民
--  发布时间:2017/11/20 8:23:00
--  关于图片选择
(1)窗体中"PictureViewer"控件怎么设置为按键盘上的上键、下键来对本条记录内的图片进行切换?
(2)怎样根据图片名来设置"PictureViewer"的宽度和高度呢?

--  作者:有点甜
--  发布时间: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、不理解你什么意思,逻辑是什么,为什么这样做,实例说明。


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

 

设置控件大小这样写

 

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

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


--  作者:裴保民
--  发布时间:2017/11/20 10:24:00
--  
按键盘上的左键或右键来实现上一图片或下一图片浏览图片,就像控件全屏显示的上一条下一条似的,不过按键是在本条内图片浏览,怎么实现呢?
--  作者:有点甜
--  发布时间: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来显示图片