| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4127 人关注过本帖, 3 人收藏
标题:一个表单中的控件关闭另一个表单
取消只看楼主 加入收藏
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
结帖率:100%
收藏(3)
已结贴  问题点数:20 回复次数:11 
一个表单中的控件关闭另一个表单
首先,我有个基础问题没搞明白:表单和form是个什么关系?例如,表单1.scx中有个form1,是不是只能有一个form?如果不是怎么建form2、form3……
然后,我在表单1.scx中do form 表单2.scx ,然后表单1的command控件要能退出这两个表单:thisform.release  另一个表单2怎么关?
搜索更多相关主题的帖子: 表单 command 
2012-02-18 11:31
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
补充一下:表单2.release   不好使。
而把thisform.release替换为表单1.release  却可以
2012-02-18 11:40
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
以下是引用TonyDeng在2012-2-18 11:38:16的发言:

呵呵,很經典的問題。

呵呵见笑了。
我一直以为所说的表单就是那个scx文件,form也只是表单中的一个控件而已。而thisform指的就是当前的form控件。
现在,我有点晕,望不吝赐教。
2012-02-18 11:43
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
回复 5楼 TonyDeng
若没有其他人回复,有劳下午给出答案。
别让我回家了还老惦记着。
2012-02-18 11:58
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
以下是引用TonyDeng在2012-2-18 12:04:22的发言:

現在星期六了,你回哪個家?我看給不了答案,首先我不用.scx的,其次我看你這個問題跟你在表單代碼中寫了什麼有關。

周六也上班的。
就是在表单1的一个控件中有 do form 表单2.scx
现在表单1中的另一个控件想关闭这两个表单,thisform.release或表单1.release都能把表单1关了
但是 表单2.release没法关表单2
这是一个问题。
另一个问题就是我开头的时候问的,表单和form到底是啥关系或区别。
2012-02-18 12:32
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
现在又多了一个问题  你说不用.scx,那怎么用窗体以及控件?
2012-02-18 12:48
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
以下是引用TonyDeng在2012-2-18 13:09:11的发言:

.scx寫成的表單,其實是一個類,DO FORM 表單1.scx這個語句,意思是用文件“表單1.scx”生成一個表單實例“表單1”(DO FORM命令其實有一個參數是NAME,是給形成的實例起名的,如果忽略,則實例的變量名就等於文件名)。用同一個.scx文件,是可以生成多個同樣的表單實例的。

由於實例其實是一個內存變量,按你的語法,你在內存中有兩個表單,其變量名分別是“表單1”和“表單2”,把變量直接釋放了,就可以把實例釋放掉。表單2.release是使用表單2實例的方法,它掛在自己身上,只能用自己的方法調用,不能由別人調用。你不妨換個寫法,用release 表單2,這是直接釋放內存變量,試試看。

“用同一個.scx文件,是可以生成多個同樣的表單實例的”
是说通过name 不同的名称来实现么?
“你不妨換個寫法,用release 表單2,這是直接釋放內存變量,試試看。”
试了下release 表单2,还是不行。
而且我把表单1中的thisform.release换成了release 表单1,也不能退出了。

另外,请帮忙解答一下.scx和form的关系或区别,以及一个.scx中可以有多个form么?
2012-02-18 13:44
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
回复 12楼 TonyDeng
多谢。我是在主程序prg中用了read event。。。
由于你没用过.scx,所以它和form的区别,没能给出确切答案。我只是猜测,一个scx对应一个form两者就是一个东西。
全部用代码生成窗体和控件,我不会。
我只能用最简单的方法,拖拽生成控件,进入方法或事件来写代码。。。

另外,期待更多前辈指点迷津,我猜测的对不对?

[ 本帖最后由 yttv8 于 2012-2-18 14:26 编辑 ]
2012-02-18 14:16
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
回复 12楼 TonyDeng
忽然又发现一个问题,修改窗体form1的top值是thisform.top=100,而用它的名称form1.top=100不行
那form的name属性有个啥用?
开始我还以为 do form 表单1.scx   默认会使用name属性的值作为实例名
但是看你的解释,是以“表单1”作为实例名了。
2012-02-18 14:36
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
谢谢  待我研究下
2012-02-18 16:43
快速回复:一个表单中的控件关闭另一个表单
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017747 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved