Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[分享] 动态管理文本框等控件(动态设置其他控件方法雷同)

1楼
程兴刚 发表于:2009/4/12 14:03:00
代码执行功能功能:

      根据不同的形状钢筋代码,添加不同的数量的文本框控件,方便用户录入数据,这样的动态管理,省区很多判断和避免找不到控件(文本框)的错误提示,方便其他按钮动态检测文本框是否输入值并动态根据文本框填写到表格字段,去掉文本框与字段的绑定,可以有效防止用户从窗口误修改或误删除字段的内容。通过不同的控件事件,与我的另一帖子的代码配合使用,事半功倍!

...........前面部分代码略

Dim Multi As String = "A|B|C|D|E|F|G|H|I|JD1|JD2" '1~8行代码判断本行所知名称的控件是否存在,如果是,删除它们
Dim Values() as String
Values = Multi.split("|")
For Index As Integer = 0 To Values.Length - 1
    if e.Form.ExistControl(Values(Index))  = true
       e.Form.RemoveControl(Values(Index))
    end if
Next
Dim p As WinForm.Painter = e.Form.Controls("Painter100") '9~13行代码,清空绘图板Painter100的所有内容并设置背景颜色,并指定绘图时的画笔颜色和画笔宽度
Dim g As Graphics = p.Graphics
Dim pn As New Pen(Color.red,3) '指定画笔颜色和画笔宽度
g.Clear(Color.LightSeaGreen) '清除所有内容,并指定背景颜色
p.Repaint() '输出图形到绘图板
if Vars("钢筋代码") = "1001"  '判断当前代码如果为1001,为窗口增加名称为A的文本框(因为代码为1001的钢筋仅需要名称为A的文本框,只需要一个有效参数),并由以下的指定该文本框要加入的容器(这里是一个面板控件)、位置、属性和加入的容器
    Dim A As WinForm.TextBox
    A = e.Form.CreateControl("A", ControlTypeEnum.TextBox)
    A.Left =82
    A.Top =54
    A.Width = 36
    A.Height =16
    e.Form.Controls("Panel1").AddControl(A)
    A.BorderStyle = System.Windows.Forms.BorderStyle.None
    A.TextAlign=System.Windows.Forms.HorizontalAlignment.Center
    A.TopMost=true
    p = e.Form.Controls("Painter100")  '以下代码为绘图板Painter100绘制代码为1001的钢筋形状的图例(包括线条长度、宽度、位置等属性)
    g = p.Graphics
    g.Clear(Color.LightSeaGreen) '清除所有内容,并将背景颜色设为黑色
    g.DrawLine(pn,20,70,172,70) '指定图形类型为直线画笔颜色和位置
    p.Repaint() '输出图形到绘图板
end if
if Vars("钢筋代码") = "2001" '判断当前代码如果为2001,为窗口增加名称为A的文本框(因为代码为2001的钢筋仅需要名称为A、B的文本框,只需要二个有效参数),并由以下的代码指定该文本框要加入的容器(这里是一个面板控件)、位置、属性和加入的容器
    Dim A As WinForm.TextBox
    A = e.Form.CreateControl("A", ControlTypeEnum.TextBox)
    A.Left =86
    A.Top =54
    A.Width = 38
    A.Height =16
    e.Form.Controls("Panel1").AddControl(A)
    A.BorderStyle = System.Windows.Forms.BorderStyle.None
    A.TextAlign=System.Windows.Forms.HorizontalAlignment.Center
    A.TopMost=true
    Dim B As WinForm.TextBox
    B = e.Form.CreateControl("B", ControlTypeEnum.TextBox)
    B.Left =9
    B.Top =52
    B.Width = 38
    B.Height =16
    e.Form.Controls("Panel1").AddControl(B)
    B.BorderStyle = System.Windows.Forms.BorderStyle.None
    B.TextAlign=System.Windows.Forms.HorizontalAlignment.Center
    B.TopMost=true
    p = e.Form.Controls("Painter100") '以下代码为绘图板Painter100绘制代码为1001的钢筋形状的图例(包括线条长度、宽度、位置等属性)

    g = p.Graphics
    g.Clear(Color.LightSeaGreen) '清除所有内容,并将背景颜色设为黑色
    g.DrawLine(pn,48,42,48,70) '指定图形类型为直线画笔颜色和位置
    g.DrawLine(pn,48,69,172,69) '指定图形类型为直线画笔颜色和位置
    p.Repaint() '输出图形到绘图板
end if
...........后面部分代码略
[此贴子已经被作者于2009-4-12 17:40:38编辑过]
2楼
yangming 发表于:2009/4/12 14:22:00
学习,谢谢程版!
3楼
kylin 发表于:2009/4/12 14:38:00
收藏!
4楼
程兴刚 发表于:2009/4/12 14:57:00

下面是运行过程的部分功能界面截图,先发出来透透风,也让各位见笑了,主要是便于大家研究一楼的代码,目前很多地方不完善,只能让大家看到部分界面,请大家不要见怪:

       选择一折钢筋代码为1001的钢筋(鼠标左键选择图标即可)时的界面截图:

 
图片点击可在新窗口打开查看此主题相关图片如下:1001.png
图片点击可在新窗口打开查看

选择二折钢筋代码为2001的钢筋并输入参数时并提料后(看第二行)的界面截图:

 
图片点击可在新窗口打开查看此主题相关图片如下:2001.png
图片点击可在新窗口打开查看


       刚才上传的图片错误,更正一下。

[此贴子已经被作者于2009-4-12 15:11:36编辑过]
5楼
gdlgh 发表于:2009/4/12 15:19:00
分享的难得要顶!
6楼
czy 发表于:2009/4/12 20:47:00
偶只看不顶。
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.