آژانس هواپیمایی
pop up

MDI Form قرار دادن عکس در زمینه

شروع موضوع توسط hamid_80386 ‏5 اکتبر 2007 در انجمن Visual Basic 6

  1. hamid_80386

    hamid_80386 Registered User

    تاریخ عضویت:
    ‏28 فوریه 2007
    نوشته ها:
    46
    تشکر شده:
    0
    سلام

    کسی میدونه که چطور میتونم یه عکس رو توی MDI Form قرار بدیم، طوری که در وسط فرم قرار بگیره، و با ReSize کردن فرم هم باز در وسط باشه ؟


    راهی که خودم استفاده کردم یه مشکل داره، من اومدم عکسم رو توی یه فرم دیگه قرار دادم، و بعد خاصیت BorderStyle اون فرم رو صفر کردم و Enable ون رو هم False کردم، بعد فرم رو در رویداد Load فرم اصلی (MDI Form) ، لود کردم.

    ولی با اینکار وقتی کاربر یکی از Child Form ها رو باز میکنه، Position اون فرم کمی پایین تر از ناحیه Left=0 و Top=0 قرار میگیره، که این موضوع در برنامه من یه معضل حساب میشه، چون روی ریزه کاری ها خیلی دقت کردم،

    البته میشه برای اتفاق نیفتادن این مشکل، قبل از Load کردن فرم، یکبار دستور Arrange 0 رو بکار برد، ولی خب اون موقع این اتفاق برای فرم بعد می افته.

    اگر هم قبل از باز شدن هر فرم یکبار Arrange کنیم، کاربر اختیار تغییر Position فرم ها رو از دست میده، چون اگه محل نمایش یک فرم رو تغییر بده با باز کردن یه فرم جدید، اون فرم هم بهمراه فرم های جدید Arrange میشه و به موقعیتی که برنامه بصورت اتوماتیک براش در نظر میگیره میره.!

    حالا اگه کسی میدونه لطفا بگه چطور یه عکس رو در وسط MDI Form قرار بدم؟
     
  2. saeedsmk

    saeedsmk مدیر بازنشسته

    تاریخ عضویت:
    ‏6 سپتامبر 2003
    نوشته ها:
    1,519
    تشکر شده:
    4
    سلام
    خوب هستيد شما يك پيكچر باكس بگذار وسط فرمت و بعد در رويداد resize فرم مي دي اي اون رو به وسط صفحه انتقال بده
    به اميد ديدار
     
  3. hamid_80386

    hamid_80386 Registered User

    تاریخ عضویت:
    ‏28 فوریه 2007
    نوشته ها:
    46
    تشکر شده:
    0
    سلام

    از راهنمایی تون ممنون، ولی مشکل دقیقا خود Picture Box هست، چون به ما Align آزاد (Align=0) نمیده، و اجباراً در MDI Form به یکی از چهار گوشه تصویر میچسبه، اینه که نمیشه اون رو به وسط صفحه انتقال داد.

    البته من بازم رو حرف شما تو رویداد Resize این کار رو کردم، ولی جواب نداد.):
     
  4. hamid_80386

    hamid_80386 Registered User

    تاریخ عضویت:
    ‏28 فوریه 2007
    نوشته ها:
    46
    تشکر شده:
    0
    کسی را دیگه ای به نظرش نمیرسه، یا میبینید به روی خودتون نمی آرید.؟
     
  5. LBor

    LBor کاربر تازه وارد

    تاریخ عضویت:
    ‏22 اکتبر 2007
    نوشته ها:
    5
    تشکر شده:
    0
    حمید جان سلام
    من جواب این مسئله را تو خود MDI نمی دونم ولی خودم برای این کار می آم از یک فرم دیگه استفاده میکنم و border اون فرم را 0 و حالتش رو max قرار مدهم ولی برای این که برای فرم های دیگر مشکلی ایجاد نکنه باید از خاصیت Zorderاستفاده کنی و هر موقع این فرم Active شد Zorder اون را برابر 1 قرار برای البته چک کن که تعداد فرمها اگر بیشتر از 2 بود( Forms.Count)

    موفق باشی