2 가지 형태가 있습니다. 1 개의 패널과 2 개의 버튼 (pnl1, btnShowTree 및 btnAddItems)이있는 Form1. Treeview (tv1)를 포함하는 Form2도 있습니다.부모 양식 borderstyle 변경시 Treeview.Clear가 실패하는 이유는 무엇입니까?
아래의 짧은 코드는이 작은 데모를 이해 참조하십시오
내가 btnAddItems를 클릭하면 내가 3 개 항목 (A. B. C.)를 참조 것으로 예상procedure TForm1.btnShowTreeClick(Sender: TObject);
begin
with Form2 do
begin
tv1.Items.clear;
Tv1.Items.AddChild(nil, '1.');
Tv1.Items.AddChild(nil, '2.');
Tv1.Items.AddChild(nil, '3.');
Form2.Parent:=pnl1;
Form2.BorderStyle:=bsNone;
Form2.show;
end;
end;
procedure TForm1.btnAddItemsClick(Sender: TObject);
begin
with Form2 do
begin
BorderStyle:=bsSizeable; // here it works wrong
tv1.Items.clear;
Tv1.Items.AddChild(nil, 'A.');
Tv1.Items.AddChild(nil, 'B.');
Tv1.Items.AddChild(nil, 'C.');
// BorderStyle:=bsSizeable; here it works fine. WHY ?????
Form2.Show;
end;
end;
procedure TForm2.btnCloseForm2Click(Sender: TObject);
begin
Parent:=nil;
Hide;
// when I exchange instructions order like:
// Hide;
// Parent:=nil;
// I get the same problem with improperly nested BorderStyle:=bsSizeable; I have
// only blur idea why it is so...
end;
. 이전 항목은 삭제되지 않기 때문에 6 항목이 표시됩니다 !!! 아무도 그것에 빛을 쏟을 수 없다. 왜냐하면 내가 프로그램 작업을 잘하기 위해 몇 시간 동안 여기에 갇혀 있기 때문이다.하지만 나는 아직도 내가 가장 잘못한 것을 가장 이상한 생각이 아니다 ...
어떤 버전의 델파이입니까? 프로그램을 만들었고 광산이 잘 작동합니다 (양식에 A, B 및 C가 표시됨). –
델파이 7을 사용하고 있습니다 – lyborko