以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]求助排列规律的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33856) |
||||
-- 作者:夕然 -- 发布时间:2013/5/25 23:25:00 -- [求助]求助排列规律的代码 实在找不到数据出现的规律,特向各位求教 假设我规定了3列,这个排序怎么排呢? 假设要按照窗口的变化来排列,动态规定有多少列,又怎么做呢? 谢谢各位老师
此主题相关图片如下:222.png [此贴子已经被作者于2013-5-26 23:08:31编辑过]
|
||||
-- 作者:fjlclxj -- 发布时间:2013/5/26 0:08:00 -- Dim w,h,j,w0,w1,h0,h1 As Integer w = 80 \'控件宽 h = 50 \'控件高 w0=10 \'左右外边距 w1=5 \'左右内边距 h0=10 \'上外边距 h1=7 \'上下内边距 j= e.Form.Width-w0+w1 j=j\\(w+w1) Dim drs As List(Of DataRow) drs = DataTables("表a").Select("[状态] = \'在线\'") For i As Integer = 1 To drs.Count If e.Form.ExistControl("online_Panel" & i) = True e.Form.RemoveControl("online_Panel" & i) End If Dim pl As WinForm.Panel pl = e.Form.CreateControl("online_Panel" & i, ControlTypeEnum.Panel) pl.Width = w pl.Height = h pl.Left = w0+((i-1) Mod j)*(w+w1) pl.Top = h0+((i-1)\\j)*(h+h1) e.Form.Controls("Panel1").AddControl(pl) If e.Form.ExistControl("online_Panel" & i & "_" & drs(i-1)("用户")) = True e.Form.RemoveControl("online_Panel" & i & "_" & drs(i-1)("用户")) End If Dim pt As WinForm.Painter pt = e.Form.CreateControl("online_Panel_" & i & "_" & drs(i-1)("用户"), ControlTypeEnum.Painter) pt.Width = w pt.Height = h pt.Left= 0 pt.Top = 0 pt.BorderStyle = BorderStyle.Fixed3D pl.BackColor = color.pink e.Form.Controls("online_Panel" & i).AddControl(pt) Dim g As Graphics = pt.Graphics Dim fnt As New Font("黑体",10,FontStyle.Bold) Dim s1 As String = drs(i-1)("用户") g.DrawString(s1,fnt,Brushes.black,10,10) \'定义启始为止 g.DrawImage(getImage(drs(i-1)("图像")),10,30) pt.Repaint() Next
|
||||
-- 作者:夕然 -- 发布时间:2013/5/26 0:28:00 -- 你是我学习的偶像
谢谢你 |
||||
-- 作者:夕然 -- 发布时间:2013/5/26 0:29:00 -- 我折腾一个晚上了。 做了多次的模型都没有成功 你的解决方法让我佩服 |
||||
-- 作者:don -- 发布时间:2013/5/26 10:22:00 -- 直接在表格上绘制头像就行 |
||||
-- 作者:夕然 -- 发布时间:2013/5/26 11:15:00 -- 谢谢大家的帮助,我已经搞定了,甚至可以实现更多的功能了 GDI果然是一个强大的工具 给大家秀个图
此主题相关图片如下:oiu.gif |
||||
-- 作者:hanxuntx -- 发布时间:2013/5/26 12:04:00 -- 此主题相关图片如下:dfdfd.gif |
||||
-- 作者:泡泡 -- 发布时间:2013/5/26 12:09:00 -- 牛 空了也要学习这个方法 |
||||
-- 作者:夕然 -- 发布时间:2013/5/26 12:22:00 -- 你的这个更牛哦, 鼠标移动到那里之后,那个panel会动是怎么搞的哦 |
||||
-- 作者:fjlclxj -- 发布时间:2013/5/26 13:26:00 -- MouseEnter: If left(e.Sender.name,13) = "online_Panel_" e.Sender.ToolTip = "点击可查看会员信息!" e.Sender.BorderStyle = BorderStyle.Fixed3D End If MouseLeave: If left(e.Sender.name,13) = "online_Panel_" e.Sender.BorderStyle = BorderStyle.FixedSingle End If |