关于Delphi的PageControl使用问题!

在Delphi写的数据库管理系统中,想把主界面做成像浏览器一样的多页面模式,即在主窗体上放一个PageControl设为P1,每打开一个窗体就在就在P1上动态新添一个页,... 在Delphi写的数据库管理系统中,想把主界面做成像浏览器一样的多页面模式,即在主窗体上放一个PageControl设为P1,每打开一个窗体就在就在P1上动态新添一个页,然后把打开的窗体置于页中!现在的问题是数据刷新的问题,假设说P1已打开了两个页,对应的窗体为f1和f2,窗体中有数据控件为AdoQ1和AdoQ2,AdoQ1和AdoQ2数据源均来自同一个表,两个窗体中均有一个button为b1和b2可以点击刷新当前窗体数据,怎样在f2更新了数据后切换到f1的时候自动调用f1的b1事件来刷新f1的数据?
因为TabSheet是动态创建的,所以不是说每个sheet一定对应某个窗体的,比如说sheet1现在可能是对应“职员资料”窗体,关了重新打开的时候可能就是“客户资料”窗体了!不过每打开一窗体,PageControl的sheet标题就是该窗体的caption标题!
展开
 我来答
斯文又素朴的东青2083
2011-06-28 · TA获得超过185个赞
知道小有建树答主
回答量:311
采纳率:28%
帮助的人:188万
展开全部
在TabSheet1上放置button2,TabSheet2上放置button1。one和two都是全局变量!然后在TabSheet SHOW时间中就可以实现了!

procedure TForm1.TabSheet1Show(Sender: TObject);
begin
if one then
begin
ShowMessage('1');//换成你刷新数据的动作
one:=false;
end;
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
if two then
begin
ShowMessage('2');//换成你刷新数据的动作
two:=false;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
one := true;
two := false;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
one := false;
two := false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
two := true;
one := false;
end;
更多追问追答
追问
可能这个P1会产生很多个TabSheet,不固定的,不过会限制在一定的数量内,比如最多只能同时打开8个。。。
追答
写一个过程procedure,这个过程用来实现分别对特定窗体的数据刷新,过程里要用根据标签页的标题做个判断,例如if caption ='客户资料' then  ,然后执行相应的操作。
在TabSheet 创建的时候,这个TabSheet的名字应该可以设定的吧。当这个页面点击数据提交时,就可以赋值在另外的页面TabSheet的SHow事件 赋过程的吧,
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
谁_人_知
2011-06-28 · TA获得超过220个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:155万
展开全部
调用f1所在的Sheet的Show事件,在Show事件里面调用Button事件
procedure TForm1.TabSheet1Show(Sender: TObject);
begin
//在这里调用刷新事件
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Warrially
2011-06-28 · TA获得超过517个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:339万
展开全部
在 P1 的 OnEnter 事件里面写代码.

begin
b1.click;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kcxnvbdbd
2011-06-28 · TA获得超过523个赞
知道小有建树答主
回答量:885
采纳率:50%
帮助的人:614万
展开全部
在button的事件里面加入如下过程
for循环遍历每个tabsheet,判断是不是要进行更新的页面,如果是,则调用当前页面的按钮过 程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式