Foxtable(狐表)用户栏目专家坐堂 → [求助]按照顺序增加控件textbox


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

主题:[求助]按照顺序增加控件textbox

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]按照顺序增加控件textbox  发帖心情 Post By:2016/3/15 11:49:00 [只看该作者]

我想点击盖楼这个button,然后窗体自动增加一个textbox,属性是多行。
竖排增加。这种自动增加控件有办法实现吗?

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/15 11:57:00 [只看该作者]

参考代码

 

static i As Integer = 0
static y As Integer = 20

Dim txt As WinForm.TextBox
txt = e.Form.CreateControl("TextBox" & i, ControlTypeEnum.TextBox)
txt.Left = 150
txt.Top = y
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
e.Form.AddControl(txt)

i+= 1
y += txt.height + 10


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/15 15:40:00 [只看该作者]

怎么改这个控件的大小?把txt.height = 5000  改大也无用。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/15 16:10:00 [只看该作者]

找到了。setbounds
txt.SetBounds(150,y,300,100)

问题来了。
现在是窗体不会自动向下拉,就是增加了多个textbox后,后面增加的textbox看不到了。窗体需要有下拉条才行。怎么弄?

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/15 16:11:00 [只看该作者]

哦。改为自动滚动就可以了。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/15 16:22:00 [只看该作者]

新版没问题,旧版要换一下顺序

 

txt.MultiLine = True

txt.height = 500


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/15 17:26:00 [只看该作者]

Dim r As Row = Tables("盖楼").AddNew()
static i As Integer = 0
static y As Integer = 20
Dim txt As WinForm.TextBox
Dim Label1,label2 As WinForm.Label
txt = e.Form.CreateControl("TextBox" & i, ControlTypeEnum.TextBox)
label1 = e.Form.CreateControl("label1" & i, ControlTypeEnum.label)
label2 = e.Form.CreateControl("label2" & i, ControlTypeEnum.label)
txt.Left = 150
txt.Top = y
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,y,500,50)
e.Form.AddControl(txt)
txt.BindingField = "盖楼.备注"
label1.Left = 50
label1.Top = y
e.Form.AddControl(label1)
Dim str As String
Dim id  As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = i & "楼" & str
msgbox(label1.text)
label1.BindingField = "盖楼.回复者"
label2.SetBounds(50,y + 20,100,50)
label2.Left = 50
label2.Top = y + 20
e.Form.AddControl(label2)
label2.BindingField = "盖楼.回复时间"
label2.Text = Date.now
i+= 1
y += txt.height + 10

label1和label2的绑定为啥不生效呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/15 20:17:00 [只看该作者]

你绑定有什么意义?绑定的数据,只能显示一行的,莫非你新增的控件都显示一行的数据?

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/16 9:30:00 [只看该作者]

盖楼click代码:
DataTables("盖楼").LoadFilter = "BUG_ID = '" & Vars("BUGID") & "'"
DataTables("盖楼").Load
Dim r As Row = Tables("盖楼").AddNew()
r("BUG_ID") = Vars("BUGID")
static i As Integer = 0
static y As Integer = 20
Dim txt As WinForm.TextBox
Dim Label1,label2 As WinForm.Label
txt = e.Form.CreateControl("TextBox" & i, ControlTypeEnum.TextBox)
label1 = e.Form.CreateControl("label1" & i, ControlTypeEnum.label)
label2 = e.Form.CreateControl("label2" & i, ControlTypeEnum.label)
txt.Left = 150
txt.Top = y
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,y,500,50)
e.Form.AddControl(txt)
txt.BindingField = "盖楼.备注"
label1.Left = 50
label1.Top = y
e.Form.AddControl(label1)
Dim str As String
Dim id  As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = i & "楼" & str
'msgbox(label1.text)
''label1.BindingField = "盖楼.回复者"
label2.SetBounds(50,y + 20,100,50)
label2.Left = 50
label2.Top = y + 20
e.Form.AddControl(label2)
'label2.BindingField = "盖楼.回复时间"
label2.Text = Date.now
i+= 1
y += txt.height + 10
就是需要把新增的控件的内容写入到新增行中。另外绑定了数据,再次点击盖楼,控件内容消失了,但后台数据仍然保留有,这是怎么回事?
还有就是明明新增了好几个textbox,再次打开控件的都没了。

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/16 9:44:00 [只看该作者]

每一楼,控件命名为比如 "txt" & r("_Identify")

 

然后在textchanged事件里面写代码

 

Dim fdr As DataRow = DataTables("盖楼").Find("_Identify = '" & e.Sender.name.Replace("txt", "") & "'")

If fdr IsNot Nothing Then

    fdr("备注") = e.sender.Text

End If


 回到顶部
总数 26 1 2 3 下一页