Foxtable(狐表)用户栏目专家坐堂 → 动态生成按钮的代码怎么设置的?


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

主题:动态生成按钮的代码怎么设置的?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
动态生成按钮的代码怎么设置的?  发帖心情 Post By:2009/8/28 13:00:00 [只看该作者]

 Dim T As WinForm.button
T = e.Form.CreateControl("button2", ControlTypeEnum.button)
T.Text = "增加一行"
T.Left = 175
T.Top = 75
T.WIDTH = 90
T.HEIGHT = 60
e.Form.AddControl(T)


Dim T1 As WinForm.button
T1 = e.Form.CreateControl("button3", ControlTypeEnum.button)
T1.Text = "下一行"
T1.Left = 100
T1.Top = 100
T1.WIDTH = 90
T1.HEIGHT = 60
e.Form.AddControl(T1)



 这个代码是生成二个按钮,我想问一下的是这二个生成的按钮,我要设置代码怎么做的,在哪儿写代码进去?

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/28 13:28:00 [只看该作者]

ResumeRedraw

恢复绘制窗口。

Foxtable提供了动态增加和删除控件的功能,我们可以先执行StopRedraw方法,停止绘制窗口,等到动态增加或删除控件代码执行结束后,再执行ResumeRedraw方法,重新绘制窗口。

例如单机某个按钮可动态加入一些控件,该按钮的代码通常应该设为:

e.Form.StopRedraw()
'动态增加或删除控件的代码

e.Form.ResumeRedraw()

没试过~ 呵呵


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/8/28 13:39:00 [只看该作者]

以下是引用mr725在2009-8-28 13:28:00的发言:

ResumeRedraw

恢复绘制窗口。

Foxtable提供了动态增加和删除控件的功能,我们可以先执行StopRedraw方法,停止绘制窗口,等到动态增加或删除控件代码执行结束后,再执行ResumeRedraw方法,重新绘制窗口。

例如单机某个按钮可动态加入一些控件,该按钮的代码通常应该设为:

e.Form.StopRedraw()
'动态增加或删除控件的代码

e.Form.ResumeRedraw()

没试过~ 呵呵

  做不来,不知道怎么弄?一个按钮没有问题,做不到两个,有没有哪位高手指点一下.


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


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

代码放到窗口 的

AfterLoad 事件中,也可以放到其它窗口的按钮中,如放到其它窗口,那还要首先打开此窗口代码

生成窗口后执行,通常在此对窗口和控件进行初始化设置。


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


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

这两个按钮是并排放的
Dim T As WinForm.button
T = e.Form.CreateControl("button2", ControlTypeEnum.button)
T.Text = "增加一行"
T.Left = 175
T.Top = 75
T.WIDTH = 90
T.HEIGHT = 60
e.Form.AddControl(T)
Dim T1 As WinForm.button
T1 = e.Form.CreateControl("button3", ControlTypeEnum.button)
T1.Text = "下一行"
T1.Left = 175+90+5
T1.Top = 75
T1.WIDTH = 90
T1.HEIGHT = 60
e.Form.AddControl(T1)

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


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

这是竖着排列的,你自己比较一下吧
Dim T As WinForm.button
T = e.Form.CreateControl("button2", ControlTypeEnum.button)
T.Text = "增加一行"
T.Left = 175
T.Top = 75
T.WIDTH = 90
T.HEIGHT = 60
e.Form.AddControl(T)
Dim T1 As WinForm.button
T1 = e.Form.CreateControl("button3", ControlTypeEnum.button)
T1.Text = "下一行"
T1.Left = 175
T1.Top = 75*2+5
T1.WIDTH = 90
T1.HEIGHT = 60
e.Form.AddControl(T1)

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/8/28 13:51:00 [只看该作者]

以下是引用yangming在2009-8-28 13:47:00的发言:
这两个按钮是并排放的
Dim T As WinForm.button
T = e.Form.CreateControl("button2", ControlTypeEnum.button)
T.Text = "增加一行"
T.Left = 175
T.Top = 75
T.WIDTH = 90
T.HEIGHT = 60
e.Form.AddControl(T)
Dim T1 As WinForm.button
T1 = e.Form.CreateControl("button3", ControlTypeEnum.button)
T1.Text = "下一行"
T1.Left = 175+90+5
T1.Top = 75
T1.WIDTH = 90
T1.HEIGHT = 60
e.Form.AddControl(T1)

   大姐这个我明白的,我想问的是,如果两个按钮生成了以后,我要在生成的两个按钮中设置代码,怎么做?


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


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

窗口的通用事件Click中设置如下代码:

Select Case e.Sender.Name
    Case "First"
        CurrentTable.Position = 0
    Case "Last"
        CurrentTable.Position = CurrentTable.Rows.Count - 1
    Case "Prev"
        CurrentTable.Position = CurrentTable.Position - 1
    Case "Next"
        CurrentTable.Position = CurrentTable.Position +
1
End
Select


不过要先判断一下是否有控件存在,不然会出错的

[此贴子已经被作者于2009-8-28 13:54:35编辑过]

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


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

我发现不用判断也不会报错

Select Case e.Sender.Name
    Case "button2"
        CurrentTable.AddNew()
     Case "button3"
        CurrentTable.Position = CurrentTable.Position + 1
End Select
[此贴子已经被作者于2009-8-28 14:05:19编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/8/28 14:05:00 [只看该作者]

  之前我也在全局事件里做的,怎么错了呢.

 回到顶部
总数 12 1 2 下一页