PDA

View Full Version : کمک: قرار دادن یک فرم بر روی فرم دیگر



touraj
چهارشنبه 09 خرداد 1386, 17:55 عصر
سلام.
من یه فرم دارم به نام Form1. وقتی که این فرم باز هستش، گاهی اوقات لازم میشه که Form2 هم روی اون ظاهر بشه. تا اینجاش مشکلی وجود نداره. اما وقتی بر روی Form1 کلیک میکنم، Form2 به صورت اتوماتیک پشت Form1 قرار میگیره. چیکار کنم که این اتفاق نیفته؟

توضیح 1: نمیتونم از ابزاری که فرم رو OnTop قرار میده استفاده کنم. چون همونطور که گفتم، باید از Form1 هم استفاده کنم.

توضیح 2: بنا به دلایلی نمیتونم از MDI Child استفاده کنم. پس خواهشاً این راه حل رو پیشنهاد نکنین.

فقط تو رو خدا کمک کنین. هر کاری میکنم نمیشه!:عصبانی++:

majidghost
چهارشنبه 09 خرداد 1386, 20:59 عصر
از خاصیت ZOrder استفاده کن:
باید خاصیت ZOrder رو برای form1 =1 و برای form2=0 قرار بدی

h_sadeghynejad
چهارشنبه 09 خرداد 1386, 21:25 عصر
توضیح 2: بنا به دلایلی نمیتونم از MDI Child استفاده کنم. پس خواهشاً این راه حل رو پیشنهاد نکنین.
به صورت کلی باید یه فرم به برنامت اضافه کنی از نوع MِDI بعد خاصیت MDIChild بقیه فرمهاتو True کن
اگه باز هم مشکل داری پیغامی که میده رو بزار

touraj
چهارشنبه 09 خرداد 1386, 22:03 عصر
به صورت کلی باید یه فرم به برنامت اضافه کنی از نوع MِDI بعد خاصیت MDIChild بقیه فرمهاتو True کن
اگه باز هم مشکل داری پیغامی که میده رو بزار

بلدم از MDI استفاده کنم. اما استفاده نکردنم دلایل دیگه ای داره. به هر حال ممنون. اون ZOrder رو هم امتحان میکنم.

touraj
چهارشنبه 09 خرداد 1386, 22:14 عصر
از خاصیت ZOrder استفاده کن:
باید خاصیت ZOrder رو برای form1 =1 و برای form2=0 قرار بدی

من از این دستور استفاده کردم. نمیدونم درست استفاده کردم یا نه:

form1.ZOrder=0

پیغام خطای زیر رو داد:

http://i17.tinypic.com/53gmf5z.jpg

Hossein Bazyan
پنج شنبه 10 خرداد 1386, 00:42 صبح
سلام
این که کاری نداره
برای فراخوانی Form2 از داخل فرم 1 بنویس


Form2.show vbmodal,me


حالا فرم 2 روی فرم 1 قرار گرفته و همیشه OnTop است و تا زمانی که فرم 2 را نبندی فرم 1 فعال نمیشود.

touraj
پنج شنبه 10 خرداد 1386, 10:12 صبح
دستتون درد نکنه. مشکلم تا حد زیادی حل شد

majidghost
پنج شنبه 10 خرداد 1386, 15:32 عصر
البته در مورد ZOrder این درسته: ZOrder(0)

touraj
پنج شنبه 10 خرداد 1386, 20:04 عصر
ممنون از همگی. مشکل حل شد.

amirhosein
شنبه 12 خرداد 1386, 12:15 عصر
از api های لازم هم برای ontop کردن فرم میشه استفاده کرد مثل این:

Public Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

touraj
شنبه 12 خرداد 1386, 17:15 عصر
دستت درد نکنه امیر حسین