以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助,我想在图片控件下面加入标签,这个标签的TOP位置应该怎么修改? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99152) |
-- 作者:blackzhu -- 发布时间:2017/4/13 14:30:00 -- 求助,我想在图片控件下面加入标签,这个标签的TOP位置应该怎么修改? Dim x, y, i1, i2 As Integer e.Form.StopRedraw() e.Form.Controls(Me.PanelName).ClearControl() e.Form.Controls(Me.PanelName).BackColor = Color.WhiteSmoke i2 = FileSys.GetFiles(Me.GetPath).Count Dim Values As New List(Of String) For Each File As String In FileSys.GetFiles(Me.GetPath) If File.Contains(".jpg") Then Values.Add(File) End If Next Dim ls_img As New List(Of Object) Dim Top As Integer = 0 Dim phx As WinForm.PictureBox Dim lbl As WinForm.Label For y = 0 To Math.Ceiling(i2 / 5) - 1 For x = 0 To 4 If Values.Count > i1 Then phx = e.Form.CreateControl(Values(i1).Replace(".jpg", ".mp4"), ControlTypeEnum.PictureBox) phx.Width = 200 phx.Height = 200 phx.Font = New Font("微软雅黑", 10) phx.Left = 30 + (210 * x) + 30 phx.Top = 2 + (210 * y) + 30 phx.BackColor = Color.Transparent phx.Image = GetImage(Values(i1)) phx.AutoScroll = False e.Form.Controls(Me.PanelName).AddControl(phx) i1 += 1 lbl = e.Form.CreateControl(Values(i1).Replace(".jpg", ".mp4") & "Text", ControlTypeEnum.Label) lbl.Text = FileSys.GetName(Values(i1)).Split(".")(0) lbl.Font = New Font("微软雅黑", 9) lbl.Width = 200 lbl.Height = 42 lbl.Left = 30 + (210 * x) + 30 lbl.Top = (2 + (210 * y) + 30) + (210 * y) + 30 lbl.AutoSize = False i1 += 1 e.Form.Controls("Panel1").AddControl(lbl) End If Next Next e.Form.ResumeRedraw() End Sub
|
-- 作者:有点蓝 -- 发布时间:2017/4/13 14:49:00 -- 试试 lbl.Top = phx.Top + phx.Height + 30
|
-- 作者:blackzhu -- 发布时间:2017/4/13 14:54:00 -- 不行 被底下的图片控件遮住了 |
-- 作者:有点色 -- 发布时间:2017/4/13 15:02:00 -- 以下是引用blackzhu在2017/4/13 14:54:00的发言:
不行 被底下的图片控件遮住了
你指定图片的top不正确。
phx.Top = 2 + (260 * y) + 30 |
-- 作者:blackzhu -- 发布时间:2017/4/13 15:05:00 -- 我都不想骂人, 我开始写的时候就是这样写的,结果发现上下图片的大小不一致了,我就改了,没想到怎么改都不对! 难道是刚才因为电脑卡,没有显示完整?
|