Foxtable(狐表)用户栏目专家坐堂 → [求助]定义NEW出来的窗口单击事件


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

主题:[求助]定义NEW出来的窗口单击事件

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 16:20:00 [显示全部帖子]

Dim e =args(0)
Dim sender = args(1)
MessageBox.Show(1)
MessageBox.Show(sender.name)
MessageBox.Show(2)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 16:34:00 [显示全部帖子]

关闭窗口,要移除table才行的。类似

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119107&skin=0

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 17:18:00 [显示全部帖子]

以下是引用blsu33在2018/5/27 16:36:00的发言:
1、 打开后 没有在PANL1添加上一楼需要添加的控件;这个 没实现呢?

 

new出来的窗口,和foxtable设计的窗口是两个不同的概念。

 

你new出来的窗口,不能使用foxtable的代码的语法,也就是不能createControl啊,你要新建控件也必须new出来。

 

Dim Form = args(0)
Dim pnl = args(1)
Dim code As String = "dim frm = args(0)" & vbcrlf
code &= "dim pnl = args(1)" & vbcrlf
code &= "dim txt " & vbcrlf
Dim drs2 As List (of DataRow)=DataTables("控件类型").Select("c")
If drs2 IsNot Nothing Then
    For Each dr2 As DataRow In drs2
        code &= "txt=new windows.forms.label" & vbcrlf
        code &= "txt.name=""lb_" & dr2("pouttabcolcap") &  """" & vbcrlf
        code &= "pnl.controls.add(txt)" & vbcrlf
        code &= "txt=new windows.forms.textbox" & vbcrlf
        code &= "txt.name=""kj_" & dr2("pouttabcolcap") &  """" & vbcrlf
        code &= "pnl.controls.add(txt)" & vbcrlf
    Next
End If
code &= "return txt"
MessageBox.Show(code)
Functions.remove("test")
Functions.Add("test",Code)
Functions.Complie()
Functions.Execute("test", form, pnl)
Dim h As Integer = (pnl.height-10) / math.Ceiling(drs2.count / 2)
Dim w As Integer = (pnl.width-10) / 2
Dim i As Integer = 0
Dim lablen As Integer=0
Dim len As Integer = 0
For Each dr3 As DataRow In drs2
    Dim lb = pnl.controls("lb_" & dr3("pouttabcolcap"))
    lb.AutoSize = True
    lb.text = dr3("pouttabcolcap") & ":"
    If lablen<lb.width Then
        lablen=lb.width
        len= Encoding.default.getbytes(dr3("pouttabcolcap")).length
    End If
Next
msgbox(lablen)
For Each dr3 As DataRow In drs2
    Dim lb = pnl.controls("lb_" & dr3("pouttabcolcap"))
    Dim kj = pnl.controls("kj_" & dr3("pouttabcolcap"))
    'kj.BindingField=dr3("pouttabcol")
    lb.top = 3+(i\2)*h
    lb.left = iif(i Mod 2 = 0, 5, w)
    lb.text = dr3("pouttabcolcap").padright(len-dr3("pouttabcolcap").length) & ":"
    kj.top = 3+(i\2)*h
    kj.left = iif(i Mod 2 = 0, 5, w) + lablen
    kj.width=180
    i += 1
Next

 

调用参考代码

 

Functions.Execute("tjkj",frm,pnl1.basecontrol)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 17:57:00 [显示全部帖子]

改成这样

 

Dim sender As object=args(0)
Dim e As object=args(1)
If  MessageBox.Show("是否关闭!","提示",MessageBoxButtons.YesNo)=DialogResult.No Then
    e.cancel=True
Else  
    DataTables.unload("窗口3_Table1")
    sender.controls.clear
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 18:45:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:控件间距 (1) (1).table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 22:24:00 [显示全部帖子]

细节自己调整,控制好宽高,控制好label的宽高(特别是第二列的)即可

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 22:50:00 [显示全部帖子]

Dim sender As object=args(0)
Dim e As object=args(1)
If  MessageBox.Show("是否关闭!","提示",MessageBoxButtons.YesNo)=DialogResult.No Then
    e.cancel=True
Else
    MessageBox.Show(DataTables.Contains("窗口3_Table1"))
    sender.controls.clear
    If DataTables.Contains("窗口3_Table1")=True Then
        DataTables.unload("窗口3_Table1")
        sender.controls.clear
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 23:47:00 [显示全部帖子]

1、我测试没问题

 

2、先绑定事件,然后再show窗口。

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/27 23:53:00 [显示全部帖子]

以下是引用有点甜在2018/5/27 23:47:00的发言:

1、我测试没问题

 

2、先绑定事件,然后再show窗口。

 

 

而且,不建议你这样使用foxtable,你这样做是错误的做法,不要继续下去的,这条路不通的。

 

1、效率低;2、很多兼容问题;3、你控制不来。


 回到顶部