7 个解决方案
#1
这个想法应该能做到,但觉得这么操作主窗口不是那么好。
将主窗体隐藏会实际一些。
将主窗体隐藏会实际一些。
#2
谢谢cangwu_lee(小橙子)的回复。
上面我说得不是很清楚。主窗体有一个ListView和很多按钮,我想点击一个按钮,在ListView里面打开一个子窗体,然后再点击另一个按钮打开另一个子窗体,这里我想自动关闭上一个打开的子窗体。我用的是show,用showmodal的话,整个主窗体死掉了。我在网上找了一下关于这方面的问题都没找到,懂的朋友请帮帮忙回答。谢谢
上面我说得不是很清楚。主窗体有一个ListView和很多按钮,我想点击一个按钮,在ListView里面打开一个子窗体,然后再点击另一个按钮打开另一个子窗体,这里我想自动关闭上一个打开的子窗体。我用的是show,用showmodal的话,整个主窗体死掉了。我在网上找了一下关于这方面的问题都没找到,懂的朋友请帮帮忙回答。谢谢
#3
var
Form1,Form2: TForm;
Form1:= TForm1.Create(nil);
Form1.WindowState := wsMaximized;
Form1.Parent := ListView1;
Form1.Show;
//下
Form1.Close;
Form2 := Tform2.Create(nil);
Form2.WindowState := wsMaximized;
Form2.parent := listview1;
Form2.show;
自己再改成个通用的就行了
Form1,Form2: TForm;
Form1:= TForm1.Create(nil);
Form1.WindowState := wsMaximized;
Form1.Parent := ListView1;
Form1.Show;
//下
Form1.Close;
Form2 := Tform2.Create(nil);
Form2.WindowState := wsMaximized;
Form2.parent := listview1;
Form2.show;
自己再改成个通用的就行了
#4
谢谢chinayk11(风中流云) 的回复!
我还想问,如果有很多个Form的时候我怎么办?我不可能预先告诉下一个要打开窗体的上一个窗体的名字是什么的?有没有全部关闭之类的,或者专递一个参数告诉下一个窗体,上一个要关闭的窗体的名字。
我还想问,如果有很多个Form的时候我怎么办?我不可能预先告诉下一个要打开窗体的上一个窗体的名字是什么的?有没有全部关闭之类的,或者专递一个参数告诉下一个窗体,上一个要关闭的窗体的名字。
#5
还有窗体重复打开的问题,我要怎么判断这个窗体已经打开,不要重复打开?
#6
To:chinayk11(风中流云)
我是这样写的,
application.CreateForm(TForm1,Form1);
Form1.Dock(ListView1,BoundsRect);
Form1.show;
Form1.free;
和你写法,application.CreateForm(TForm1,Form1);好还是Form1:= TForm1.Create(nil);的写法好?
我是这样写的,
application.CreateForm(TForm1,Form1);
Form1.Dock(ListView1,BoundsRect);
Form1.show;
Form1.free;
和你写法,application.CreateForm(TForm1,Form1);好还是Form1:= TForm1.Create(nil);的写法好?
#7
这么多问题?
你可以把参数加在构造函数里面,判断窗体打开Assigned(aForm)
建窗体的写法,我个人认为是一样的,一般是按后面的写
你可以把参数加在构造函数里面,判断窗体打开Assigned(aForm)
建窗体的写法,我个人认为是一样的,一般是按后面的写
#1
这个想法应该能做到,但觉得这么操作主窗口不是那么好。
将主窗体隐藏会实际一些。
将主窗体隐藏会实际一些。
#2
谢谢cangwu_lee(小橙子)的回复。
上面我说得不是很清楚。主窗体有一个ListView和很多按钮,我想点击一个按钮,在ListView里面打开一个子窗体,然后再点击另一个按钮打开另一个子窗体,这里我想自动关闭上一个打开的子窗体。我用的是show,用showmodal的话,整个主窗体死掉了。我在网上找了一下关于这方面的问题都没找到,懂的朋友请帮帮忙回答。谢谢
上面我说得不是很清楚。主窗体有一个ListView和很多按钮,我想点击一个按钮,在ListView里面打开一个子窗体,然后再点击另一个按钮打开另一个子窗体,这里我想自动关闭上一个打开的子窗体。我用的是show,用showmodal的话,整个主窗体死掉了。我在网上找了一下关于这方面的问题都没找到,懂的朋友请帮帮忙回答。谢谢
#3
var
Form1,Form2: TForm;
Form1:= TForm1.Create(nil);
Form1.WindowState := wsMaximized;
Form1.Parent := ListView1;
Form1.Show;
//下
Form1.Close;
Form2 := Tform2.Create(nil);
Form2.WindowState := wsMaximized;
Form2.parent := listview1;
Form2.show;
自己再改成个通用的就行了
Form1,Form2: TForm;
Form1:= TForm1.Create(nil);
Form1.WindowState := wsMaximized;
Form1.Parent := ListView1;
Form1.Show;
//下
Form1.Close;
Form2 := Tform2.Create(nil);
Form2.WindowState := wsMaximized;
Form2.parent := listview1;
Form2.show;
自己再改成个通用的就行了
#4
谢谢chinayk11(风中流云) 的回复!
我还想问,如果有很多个Form的时候我怎么办?我不可能预先告诉下一个要打开窗体的上一个窗体的名字是什么的?有没有全部关闭之类的,或者专递一个参数告诉下一个窗体,上一个要关闭的窗体的名字。
我还想问,如果有很多个Form的时候我怎么办?我不可能预先告诉下一个要打开窗体的上一个窗体的名字是什么的?有没有全部关闭之类的,或者专递一个参数告诉下一个窗体,上一个要关闭的窗体的名字。
#5
还有窗体重复打开的问题,我要怎么判断这个窗体已经打开,不要重复打开?
#6
To:chinayk11(风中流云)
我是这样写的,
application.CreateForm(TForm1,Form1);
Form1.Dock(ListView1,BoundsRect);
Form1.show;
Form1.free;
和你写法,application.CreateForm(TForm1,Form1);好还是Form1:= TForm1.Create(nil);的写法好?
我是这样写的,
application.CreateForm(TForm1,Form1);
Form1.Dock(ListView1,BoundsRect);
Form1.show;
Form1.free;
和你写法,application.CreateForm(TForm1,Form1);好还是Form1:= TForm1.Create(nil);的写法好?
#7
这么多问题?
你可以把参数加在构造函数里面,判断窗体打开Assigned(aForm)
建窗体的写法,我个人认为是一样的,一般是按后面的写
你可以把参数加在构造函数里面,判断窗体打开Assigned(aForm)
建窗体的写法,我个人认为是一样的,一般是按后面的写