PDA

View Full Version : ناپدید شدن فرم



eilia_43
چهارشنبه 24 اسفند 1384, 15:54 عصر
من سه تا فرم در برنامه ام دارم روی فرم اولی یک toolbar و یک mainmenu گذاشتم و چند تا دکمه روی این toolbar گذاشتم وقتی برنامه اجرا میشه فرم اول که شامل toolbar است باز میشه بعد با یه دستوری که در منوی فرمم وجود دارد فرم 2 را باز میکنم. در همین حال که فرم2 باز است بازدن دکمه ایی که روی toolbar در فرم 1 قرار دارد می خوام فرم3 باز بشه که باز هم میشه اما مشکل اینجاست که فرم 2 ناپدید میشه در صورتیکه که من فرم2 را نبستم.
علت چیه؟
لطفا کمک کنید ممنونم.

realman
چهارشنبه 24 اسفند 1384, 16:10 عصر
فرم دوم شما ناپدید نشده.بلکه فقط و فقط با باز شدن فرم جدید و فعال شدن آن پشت فرم اصلی برنامه قرار گرفته.با قرار دادن خاصیت fsStayOnTop برای فرمتون(فرم 2) می تونید از مخفی شدنش جلوگیری کنین.
راه دیگرشم استفاده از فرم ها به شکل پدر و فرزندی که اون هم در FormStyle به راحتی قابل تعریفه.

پیروز باشید.

eilia_43
چهارشنبه 24 اسفند 1384, 16:26 عصر
خیلی ممنونم از کمکتون

eilia_43
چهارشنبه 24 اسفند 1384, 16:47 عصر
من خاصیت formstyle فرم2 رو همون چیزی که فرمده بودین قراردادم وبعد از باز شدن فرم3 فرم2 ناپدید نشد اما یه مشکل دیگه ایجاد شد واون هم اینه که فرم 3 زیر فرم2 قرار کرفته وهر چقدر فرم3 رو بطرف بیرون می کشم مشخص نمیشه چون فرم2 روی اون رو گرفته.
حالا چی کار کنم
ممنونم

realman
چهارشنبه 24 اسفند 1384, 17:11 عصر
شما به راحتی می تونین با تعیین position فرمهاتون اون ها در موقعیت مناسب قراربدید تا روی هم قرار نگیرند.البته در زمان اجرا و با استفاده از خاصیت های top , left

Mahmood_M
چهارشنبه 24 اسفند 1384, 22:41 عصر
من سه تا فرم در برنامه ام دارم روی فرم اولی یک toolbar و یک mainmenu گذاشتم و چند تا دکمه روی این toolbar گذاشتم وقتی برنامه اجرا میشه فرم اول که شامل toolbar است باز میشه بعد با یه دستوری که در منوی فرمم وجود دارد فرم 2 را باز میکنم. در همین حال که فرم2 باز است بازدن دکمه ایی که روی toolbar در فرم 1 قرار دارد می خوام فرم3 باز بشه که باز هم میشه اما مشکل اینجاست که فرم 2 ناپدید میشه در صورتیکه که من فرم2 را نبستم.
علت چیه؟
لطفا کمک کنید ممنونم.
دوست عزیز بعضی مواقع این اتفاق به خاطر استفاده از ShowModal است:
فرض کنید که شما سه فرم دارید و در فرم اول با دستور Show فرم دوم رو نشون می دید و بعد با دستور ShowModal فرم سوم رو نشون می دید ...
در این صورت فرم دومی که با دستور Show نشون داده شده به خاطر ظاهر شدن فرم سوم از طریق دستور ShowModal، به پشت فرم اول می ره و اگر فرم دوم شما از فرم اولتون کوچکتر باشه مطمئنا دیده نمی شه ...
امیدوارم کمکتون کرده باشم ...

eilia_43
پنج شنبه 25 اسفند 1384, 07:21 صبح
فکرکنم مشکلم رو آقا محمود متوجه شدن .
فرم دوم مثل یه پرده شده که فرم3پشت اون مونده و فقط قسمتی از اون معلوم میشه و بقیه فرم3 زیر فرم2 مخفیه و این رو هم بگم که فرم3 در حالت فعاله.
ومی دونیم که هر فرمی که فعال باشه تمام قسمتهای فرم باید مشخص باشه اما در برنامه ام اینطوری نیست.

realman
پنج شنبه 25 اسفند 1384, 12:44 عصر
یک سری به تاپیک چگونگی ایجاد فرم های والد و فرزند که چند تا پایین تر از همین پسته بزنید.
احتمالا با استفاده از این تکنیک و کمی هم ابتکار مشکلتون حل می شه.