delphi中如何在一个窗口使用按键修改另外一个窗口中listview中选定行的值~~~

2025-02-18 10:07:25
推荐回答(3个)
回答(1):

假定当前form为Form1,Listview的Form为Form2:
因为一旦切换到Fomr1, Form2中的ListView就会失去焦点,此时如果用:ListView.Selected是无法得到选中的Item的。所以,你可以在Form2中定义一个全局变量(或者一个属性),在ListView的OnClick事件中加入如下代码:
public
{ Public declarations }
SelectItem: TListItem;
......
procedure TForm2.ListView1Click(Sender: TObject);
begin
if ListView1.Selected <> nil then
SelectItem := ListView1.Selected;
end;

在Form1中增加对Form2单元的引用。
Button的Onclick代码:
if (form2 <> nil) and (form2.SelectItem<> nil) then
form2.SelectItem.Caption := '修改';

回答(2):

如果form1中按键修改form2中的listview:

uses Unit2;(在unit1中加入,可自动生成)

form2.listview.XXXX 即可修改其各个属性

回答(3):

用FORM1.listview
form2.button 区分