TTabSheet的问题!急啊
时间:2011-10-11
来源:互联网
有个问题,请当家帮忙,谢谢
在窗体Form1上放置PageControl控件,Form2上有edit1等控件。在Form1->PageControl上创建10个TTabSheet,每个TabSheet上再创建Form2.代码如下:
For ii:=1 to 10 do
begin
Tab :=TTabSheet.Create(PageControl1);
Tab.PageControl :=PageControl1;
Tab.Caption :='操作'+inttostr(ii)
Form2 :=TForm2.Create(self);
Windows.SetParent(Form2.Handle,tab.Handle);
Form2.Show;
end;
我可以在各自的TabSheet上进行编辑,处理等。
我的问题是:我如何在Form1上得到每个TabSheet上的Form2的控件内容及各自的变量哩?谢谢。(因为Form2上内容太多,做全局变量太麻烦,而且还有数据库组件等。)
在窗体Form1上放置PageControl控件,Form2上有edit1等控件。在Form1->PageControl上创建10个TTabSheet,每个TabSheet上再创建Form2.代码如下:
For ii:=1 to 10 do
begin
Tab :=TTabSheet.Create(PageControl1);
Tab.PageControl :=PageControl1;
Tab.Caption :='操作'+inttostr(ii)
Form2 :=TForm2.Create(self);
Windows.SetParent(Form2.Handle,tab.Handle);
Form2.Show;
end;
我可以在各自的TabSheet上进行编辑,处理等。
我的问题是:我如何在Form1上得到每个TabSheet上的Form2的控件内容及各自的变量哩?谢谢。(因为Form2上内容太多,做全局变量太麻烦,而且还有数据库组件等。)
作者: njbudong 发布时间: 2011-10-11
不要使用一个名字(Form2)来命名各个窗体,参考下面代码:
Delphi(Pascal) code
Delphi(Pascal) code
var Form1: TForm1; implementation uses unit2; var TabSheetForm:array [1..10] of TForm2;//以数组下标来甄别每个窗体 Tab:TTabSheet; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var ii:integer; begin For ii:=1 to 10 do begin Tab :=TTabSheet.Create(PageControl1); Tab.PageControl :=PageControl1; Tab.Caption :='操作'+inttostr(ii); TabSheetForm[ii]:=TForm2.Create(self); Windows.SetParent(TabSheetForm[ii].Handle,tab.Handle); TabSheetForm[ii].Show; end; end;
作者: gzzai 发布时间: 2011-10-12
要访问每个窗体的成员,可以类似这样:TabSheetForm[2].Edit1.Text:='测试';但是,楼主必须明确一点,各个窗体是共享unit2的“单元全局变量”!!!如果不是共用的需要,就必须把全局变量定义为窗体变量,而不能定义为单元变量,否则,单元变量会因不同窗体的运行状态而被改变为不可预料的后果(一个实例改变了它,其它的窗体得到的值是相同的)!假如你对单元变量与窗体变量的区别(得罪了,请谅。),请看unit2的示例:Delphi(Pascal) code
...... public { Public declarations } test3:bool;//窗体变量,每个TForm2窗体实例独自享有 end; var Form2: TForm2; test1:bool;//单元变量,每个TForm2窗体实例均共享 implementation var test2:bool;//单元变量,每个TForm2窗体实例均共享 {$R *.dfm} ......
作者: gzzai 发布时间: 2011-10-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28