Foxtable(狐表)用户栏目专家坐堂 → [求助]简化代码


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

主题:[求助]简化代码

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5033 威望:0 精华:0 注册:2015/4/15 15:25:00
[求助]简化代码  发帖心情 Post By:2015/10/16 17:14:00 [只看该作者]

公司的生产区域很多,如果一条条在afterload上定义,哪实在太多了,请教如何简化,或者用什么别的简单的方法?

区域很乱:A101~A107,A201~207,A121~122.....没有规律,而且会根据需要更动。

 

Dim A101 As WinForm.TextBox = e.Form.Controls("A101")
Dim idx101 As Integer = Tables("生产主表").FindRow("生产区域 = 'A101'")
If idx101 > -1 Then
    Tables("生产主表").Position = idx101
    A101.Value = Tables("生产主表").Current("制令号")
Else
    A101.Value = ""
End If

 

----------------

以及所有textbox的click代码,是否可以在打开时,一起定义?

 

Dim idx As Integer = Tables("生产主表").FindRow("生产区域 = 'A101'")
If idx > -1 Then
    Tables("生产主表").Position = idx
    Forms("生产进度").open()
Else
    MessageBox.Show("此机台未上线或已完工.","提示")
End If

 

 


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

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

图片点击可在新窗口打开查看此主题相关图片如下:333.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20151016.table

[此贴子已经被作者于2015/10/16 17:14:47编辑过]

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


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

1、做一个区域表。

 

2、根据表,动态生成label和textbox控件。

 

http://www.foxtable.com/help/topics/1409.htm

 

3、编写窗口的全局Click事件代码。


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


加好友 发短信
等级:二尾狐 帖子:522 积分:5033 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2015/10/18 9:42:00 [只看该作者]

以下是引用大红袍在2015/10/16 17:29:00的发言:

 

3、编写窗口的全局Click事件代码。

 

老师,您好。

 

全局click代码如下,Textbox都可以按需要正常开启,但非textbox按钮,点击就会跳错误。

 

Dim txt As WinForm.TextBox = e.Sender
If Typeof txt Is WinForm.TextBox = False Then  'Typeof判断控件是否是文本框
    Return
Else
    If txt.value IsNot Nothing Then
        Dim idx As Integer = Tables("生产主表").FindRow("制令号 = '" & txt.Value & "' ")
        Tables("生产主表").Position = idx
        Forms("生产进度").open()
    Else
        MessageBox.Show("此区域无机台上线.","提示")
    End If
End If

 

 


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

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


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

加上判断

 

If TypeOf e.Sender is WinForm.Button Then

    '你的代码

End If

[此贴子已经被作者于2015/10/18 10:19:56编辑过]

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5033 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2015/10/18 21:26:00 [只看该作者]

以下是引用大红袍在2015/10/16 17:29:00的发言:

 

2、根据表,动态生成label和textbox控件。

 

http://www.foxtable.com/help/topics/1409.htm

 

第2点,等我学下帮助再来问,现在都不知道如何下手……

 

第3点,改成下面这样,就可以了……。谢谢~

 

If Typeof e.sender Is WinForm.TextBox Then  'Typeof判断控件是否是文本框
    Dim txt As WinForm.TextBox = e.Sender
    If txt.value IsNot Nothing Then
        Dim idx As Integer = Tables("生产主表").FindRow("制令号 = '" & txt.Value & "' ")
        Tables("生产主表").Position = idx
        Forms("生产进度").open()
    Else
        MessageBox.Show("此区域无机台上线.","提示")
    End If
End If


 回到顶部