首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想通过单击另一个表单Delphi 7上的按钮来更改一个表单上标签的标题。

我想通过单击另一个表单Delphi 7上的按钮来更改一个表单上标签的标题。
EN

Stack Overflow用户
提问于 2013-10-26 10:05:09
回答 1查看 2.5K关注 0票数 0

我得为学校准备一个预测游戏。为了让两支随机的球队互相比赛,我在表格1上做了以下代码:

代码语言:javascript
复制
procedure TfrmUserInput.FormCreate(Sender: TObject);
const
arrT1 : array[1..6] of string = ('Blue Bulls','Griquas','EP Kings','Sharks','Cheetahs','Valke');
arrT2 : array[1..6] of string = ('Lions','Pumas','Leopards','Western Province','Kavaliers','Eagles');
begin
Randomize;
sTeam1 := arrT1[Random(5)+1];
Randomize;
sTeam2 := arrT2[Random(5)+1];
lblT1Pred.Caption := (sTeam1 + ' predicted score :');
lblT2Pred.Caption := (sTeam2 + ' predicted score :');
rbTeam1.Caption := sTeam1;
rbTeam2.Caption := sTeam2;
end;

在第二种情况下,我有以下几点:

代码语言:javascript
复制
procedure TfrmAdminInput.FormCreate(Sender: TObject);
begin
rbT1.Caption := sTeam1;
rbT2.Caption := sTeam2;
end;

sTeam1和sTeam2是全局变量。

现在,在第4种形式中,我点击一个按钮开始下一个游戏的预测--因此我需要选择另外两个随机的团队,起初我只想创建重复的数组并使用以下代码,但是它给了我一个‘未声明的标识符: lblT1Pred’的问题--对于lblT2Pred和第二个表单上的标签(rbT1.Caption和rbT2.Caption)以及表单1上的单选按钮标题来说,这个问题是一样的。代码如下:

代码语言:javascript
复制
sTeam1 := arrT1[Random(5)+1];
sTeam2 := arrT2[Random(5)+1];
frmUserInput.lblT1Pred.Caption := (sTeam1 + ' predicted score :');
frmUserInput.lblT2Pred.caption := (sTeam2 + ' predicted score :');
frmUserInput.rbTeam1.Caption := sTeam1;
frmUserInput.rbTeam2.Caption := sTeam2;
frmAdminInput.rbT1.Caption := sTeam1;
frmAdminInput.rbT2.Caption := sTeam2;

表格1是frmUserInput,表2是frmAdminInput,表4是frmWinners。

因此,为了修改我想要做的是改变标签和单选按钮的标题在表格1和表格2通过点击一个按钮在表格4(这个按钮也将隐藏表格4和显示表格1)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-26 10:20:52

如果在Form1中定义了一个名为Unit1的全局变量,并且该表单有一个名为Label1的标签,那么您可以从另一个单元访问它,如下所示:

  • 将Unit1添加到另一个单元的uses子句中。
  • 请将标签命名为Form1.Label 1。

为了避免循环引用,您可能需要将Unit1添加到其他单元的实现部分的uses子句中。

尽管如此,我更希望该表格提供一种公开的方法来完成这项工作,而不是让它的私人部分发挥所有和杂耍。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19605385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档