Foxtable(狐表)用户栏目专家坐堂 → [分享] 动态管理文本框等控件(动态设置其他控件方法雷同)


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

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

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
[分享] 动态管理文本框等控件(动态设置其他控件方法雷同)  发帖心情 Post By: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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/12 14:22:00 [只看该作者]

学习,谢谢程版!

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/12 14:38:00 [只看该作者]

收藏!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/4/12 14:57:00 [只看该作者]

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

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

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

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

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


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

[此贴子已经被作者于2009-4-12 15:11:36编辑过]

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


加好友 发短信
等级:一尾狐 帖子:449 积分:3506 威望:0 精华:5 注册:2008/9/1 2:32:00
  发帖心情 Post By:2009/4/12 15:19:00 [只看该作者]

分享的难得要顶!

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/4/12 20:47:00 [只看该作者]

偶只看不顶。

 回到顶部