以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 动态生成按钮的代码怎么设置的? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=4106) |
-- 作者:blackzhu -- 发布时间: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 -- 发布时间:2009/8/28 13:28:00 -- ResumeRedraw 恢复绘制窗口。 Foxtable提供了动态增加和删除控件的功能,我们可以先执行StopRedraw方法,停止绘制窗口,等到动态增加或删除控件的代码执行结束后,再执行ResumeRedraw方法,重新绘制窗口。 例如单机某个按钮可动态加入一些控件,该按钮的代码通常应该设为: e.Form.StopRedraw() \'动态增加或删除控件的代码 e.Form.ResumeRedraw() 没试过~ 呵呵 |
-- 作者:blackzhu -- 发布时间:2009/8/28 13:39:00 -- 以下是引用mr725在2009-8-28 13:28:00的发言:
ResumeRedraw 恢复绘制窗口。 Foxtable提供了动态增加和删除控件的功能,我们可以先执行StopRedraw方法,停止绘制窗口,等到动态增加或删除控件的代码执行结束后,再执行ResumeRedraw方法,重新绘制窗口。 例如单机某个按钮可动态加入一些控件,该按钮的代码通常应该设为: e.Form.StopRedraw() \'动态增加或删除控件的代码 e.Form.ResumeRedraw() 没试过~ 呵呵 做不来,不知道怎么弄?一个按钮没有问题,做不到两个,有没有哪位高手指点一下. |
-- 作者:yangming -- 发布时间:2009/8/28 13:45:00 -- 代码放到窗口 的 AfterLoad 事件中,也可以放到其它窗口的按钮中,如放到其它窗口,那还要首先打开此窗口代码 生成窗口后执行,通常在此对窗口和控件进行初始化设置。 |
-- 作者: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 -- 发布时间: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 -- 发布时间: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 -- 发布时间:2009/8/28 13:54:00 -- 窗口的通用事件Click中设置如下代码: Select Case e.Sender.Name [此贴子已经被作者于2009-8-28 13:54:35编辑过]
|
-- 作者:yangming -- 发布时间: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 -- 发布时间:2009/8/28 14:05:00 -- 之前我也在全局事件里做的,怎么错了呢. |