PDA

View Full Version : مشکل در visible کردن کامپوننت panel



angel_692
یک شنبه 30 دی 1386, 08:52 صبح
من در یک فرم دو کامپوننت panel دارم و هرکدام از آنها شمامل کامپوننت های دیگری است. این دو panel کاملاً بر روی هم منطبق هستند و به اصطلاح یکی رو و دیگری زیر قرار دارد. با کلیک یک دکمه visible یکی false و دیگری true می شود . مشکل من این است که در زمان اجرای برنامه وقتی فرم را فراخوانی می کنم یکی از panel ها که رو قرار دارد با کلیک دکمه زیر رفته و panel دیگری رو می آید, با دوباره کلیک کردن دکمه جای panel ها عوض می شود ولی اینبار panel اول کامپوننت های خود را نمایش نمی دهد. برای زیر و رو کردن panel ها , visible یکی را true و دیگری را false می کنم.
لطفاً من را راهنمایی کنید.

dkhatibi
یک شنبه 30 دی 1386, 09:13 صبح
سلام
با این کد مشگلی ندارم.
از این مطمئن باشید که Parent پنل دوم پنل اول نیست. ابتدا دو پنل را جداگانه ایجاد و شی را روی اون قرار دهید و سپس روی هم بگذارید.


if Panel1.Visible then begin
Panel1.Visible:=false;
Panel2.Visible:=true;
end
else begin
Panel2.Visible:=false;
Panel1.Visible:=true;
end

SUNMOON
یک شنبه 30 دی 1386, 10:16 صبح
با اجازه جناب dkhatibi.من هم یه همچین مشکلی داشتم و با یه بار hide و بعد showکردن سریع یاrepaint کردن مشکلم رو حل کردم.

ghabil
یک شنبه 30 دی 1386, 10:56 صبح
کاری به مشکلت ندارم ولی راه درست برای کاری که میکنی استفاده از PageControl هست نه دوتا پینل فکر همه چیش هم شده زمان طراحی هم خیلی راحت تری.

rasool_brn
یک شنبه 30 دی 1386, 12:41 عصر
procedure TForm1.Button2Click(Sender: TObject);
begin
Panel1.Visible:=NOT (Panel1.Visible);
Panel2.Visible:=NOT (Panel2.Visible);
end;

SYNDROME
یک شنبه 30 دی 1386, 16:50 عصر
از Notebook هم استفاده کنی.
موفق باشید