可是这样以来,会弹出一个form1的界面,怎样做才可以使用form1的button1.click,又不弹出from1的界面?
我使用了一个方法:
procedure TForm2.Button1Click(Sender: TObject);
begin
Application.CreateForm(TForm1, Form1);
Form1.SendToBack;
Form1.Button1.Click; //会产生在form2中需要的数据
将从form1中得到的数据进行处理;//具体命令省略
Form1.Close;
end;
这样运行下来,固然可以解决问题,但是在点击form2的Button1时,会产生闪屏。
怎样才能够更好的解决问题?
谢谢
我使用了一个方法:
procedure TForm2.Button1Click(Sender: TObject);
begin
Application.CreateForm(TForm1, Form1);
Form1.SendToBack;
Form1.Button1.Click; //会产生在form2中需要的数据
将从form1中得到的数据进行处理;//具体命令省略
Form1.Close;
end;
这样运行下来,固然可以解决问题,但是在点击form2的Button1时,会产生闪屏。
怎样才能够更好的解决问题?
谢谢
解决方案 »
- 知道DBGrid的某一列的列名,如何知道它在DBGrid中是第几列?
- Dll窗体?
- 请个位大虾给讲讲raise的用法
- 提示“SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。”
- Ado+access 用中文字段会出现些什么问题?
- 如何获得本项目的所有窗体的名称,最好能将他的caption显示出来!
- 怎么控制.exe文件只能运行一份
- 三层中,Socket与DCOM大讨论?? 来者有份!!!!!!!!!
- 我有小个问题,各大虾,能不能一解啊!
- 我的MIDAS三层结构程序,客户/服务器在同一电脑上没问题,不在同一电脑上客户端一连接就报“拒绝访问”,请问是怎么回事啊?
- 在不知道主键约束名的情况下 怎么删除主键
- 等待提示窗口的实现
然后调用
Form1.Button1Click(Sender);
态是屏幕抖动了一下,感觉不太自然.不知道Bear_hx是不是这样的效果?对不起,没有表达清楚:(to fly_mouse:
如果不创建form1,调用 Form1.Button1Click(Sender);那么在运行状态下点击form2的Button1会运行错误,弹出
我只是把unit1加入到unit2的uses中,还有其他地方要改动的吗?你说的"引用form1窗体" ,在程序上怎样操作?谢谢:)
begin
Form1 := TForm1.Create(Nil);
Form1.Button1.Click; //会产生在form2中需要的数据 将从form1中得到的数据进行处理;//具体命令省略
Form1.Close;
end; 不过这种方法实在很差劲,新闻用语就叫粗暴干涉别国内政,设计用语就叫高耦合
procedure TForm2.Button1Click(Sender: TObject);
begin
Application.CreateForm(TForm1, Form1);
Form1.SendToBack;
Form1.Button1.Click;
Form1.Close;
end; 建议代码改成procedure TForm2.Button1Click(Sender: TObject);
var
Frm1: TForm1;
begin
Frm1 := TForm1.Create(nil);
try
Frm1.Button1.Click;
finally
Frm1.Free;
end;
end;窗体只要不调用Show或ShowModal是不会显示的。
一般用Form1.Hide替代Form1.SendToBack好些