نمایش نتایج 1 تا 8 از 8

نام تاپیک: mdi forms

  1. #1

    Cool mdi forms

    برای یک فرم یک فرم فرزند ایجاد کرده ام ، مشکلی که وجود دارد این است که این فرم فرزند در همه حالات به زیر کنترل های فرم والد می رود و به هیچ عنوان روی انها نمایش داده نمی شود مثلا اگر روی فرم مادر یک تکست باکس باشد این فرم فرزند زیر ان می رود.
    تمامی متدهای ان مانند active, bring to front, .... را بررسی کرده ام اما نتیجه ای نداشته ایا قلق خاصی دارد؟
    کسی قبلا با این مشکل برخورد نکرده؟

  2. #2
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090

    Smile

    ایا این کار رو کردی واسه نمکایش چایلد؟
    PrivateSubButton1_Click(ByValsenderAsSystem.Object, ByValeAsSystem.EventArgs) HandlesButton1.Click
    DimfrmAsNewForm2
    frm.Parent = Me.Parent
    frm.Show()
    EndSub

    من اینطوری کردم درست بود
    یه تست بکن خبرشو بده
    فایل زیر هم بگیر من این کار رو کردم مشکلی نداشته
    ممنون
    فایل های ضمیمه فایل های ضمیمه

  3. #3

    Question

    با تشکر از شما

    frm.Parent = Me.Parent


    باید تبدیل شود به


    frm.mdiParent = Me

    برای اینکه فرم فرزند باشد و فقط داخل فرم مادر حرکت کند و از ان خارج نشود باید بصورت بالا نوشته شود که اگر کد خود را بصورت بالا اصلاح کنید متوجه مشکل میشوید

  4. #4
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090
    این کار را نکنید چون به ارور
    Top-level Control cannot be added a control
    منجر میشود
    مشکلتان حل شد ice007 جان؟

  5. #5
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059
    سلام
    نقل قول نوشته شده توسط ice007 مشاهده تاپیک
    با تشکر از شما

    frm.Parent = Me.Parent


    باید تبدیل شود به


    frm.mdiParent = Me

    برای اینکه فرم فرزند باشد و فقط داخل فرم مادر حرکت کند و از ان خارج نشود باید بصورت بالا نوشته شود که اگر کد خود را بصورت بالا اصلاح کنید متوجه مشکل میشوید
    درست است!
    اگر MDI دارید باید از خصوصیت MdiParent استفاده کنید و نه Parent !
    دوست عزیز کاربر eyes_shut_number1 ، احتمالاً کدها را در مکان درستی تایپ نکرده اید مرجع Me در دستورات کاربر ice007 فرم Mdi اصلی است، یعنی باید دستورات را در داخل خود mdi تایپ کنید یا اگر جای دیگری تایپ کردید به جای Me از اشاره گر جاری mdi که جایی ذخیره کرده اید استفاده کنید

    یعنی کد صحیح این میشود که باید داخل ماژول کلاسس خود Mdi تایپ شود!

    Dim frmAs New Form2
    frm.MdiParent = Me
    frm.Show()


    اگر پنجره اصلی را از حالت Max در آورید متوجه فرق Parent با MdiParent میشوید.
    اگر پنجره Child میخواهید باید از mdiParent استفاده کنید (مثل رابطه پنجره اصلی Photoshop با پنجره مربوط به هر عکس)
    اگر یک دیالوگ شناور میخواهید باید از Parent استفاده کنید (مثل رابطه پنجره اصلی Photoshop با پالت هایش)

    برای TextBox و... هم بهتر است از یک Dock ، Panel شده استفاده کنید تا به یک الگوی رسمی همانند دیگر برنامه ها برسید.

  6. #6
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090
    نه اشتبا ه تایپ نکردم
    من تایپ رو اشتباه خوندم
    فکر کردم نوشتن parent نه MdiParent
    چون اگه Parent بزنی دیکه نمیشه کنترل بهش نصبت داد مثل
    frm.Parent=Me
    در این حالت که ایراد میگیره
    درسته این دستور مشکلی نداره
    مشکل ار حواس پرتی بود که کامل نخوندم

  7. #7

    Question

    نقل قول نوشته شده توسط __H2__ مشاهده تاپیک
    اگر پنجره Child میخواهید باید از mdiParent استفاده کنید (مثل رابطه پنجره اصلی Photoshop با پنجره مربوط به هر عکس)
    اگر یک دیالوگ شناور میخواهید باید از Parent استفاده کنید (مثل رابطه پنجره اصلی Photoshop با پالت هایش)

    برای TextBox و... هم بهتر است از یک Dock ، Panel شده استفاده کنید تا به یک الگوی رسمی همانند دیگر برنامه ها برسید.
    دقیقا یک فرم می خوام روی فرم دیگم نمایش داده بشه حالا فرقی نمیکنه کدوم یکی از حالتهای بالا باشد ولی هر دو روش بالا مشکل دارن مثلا اگر از parent ‌استفاده کنم وقتی فرم 2(فرزند) را روی فرم اصلی قرار دهیم و سپس روی فرم مادر کلیک کنیم فرم 2 بزیر فرم اصلی می رود (همانند فرمهای معمولی) ولی من می خواهم فرم 2 در هر حالتی روی فرم 1 باشد حتی وقتی با فرم 1 می کنم

    اگر از mdi استفاده کنم فرم 2 بزیر کنترلهای فرم 1 می رود (حتی اگر یک Dock ، Panel شده استفاده کنم فرم کاملا از دید محو می شود)

  8. #8
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059
    سلام
    مجدداً تاکید میکنم اگر پنجره تان mdi است از همان روش mdi عمل کنید وگرنه از owner استفاده کنید

    Dim f AsNew System.Windows.Forms.Form
    f.Show(
    Me)

تاپیک های مشابه

  1. مشکل در datagridview , MDI Forms
    نوشته شده توسط RED-C0DE در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 23 شهریور 1387, 23:29 عصر
  2. MDI forms
    نوشته شده توسط bita_naz در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 01 مهر 1386, 23:30 عصر
  3. Forms in behind
    نوشته شده توسط zman123456 در بخش ارزیابی نرم افزار
    پاسخ: 5
    آخرین پست: جمعه 29 تیر 1386, 10:25 صبح
  4. طرز استفاده از OOH Forms
    نوشته شده توسط taghavi در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 13 آبان 1382, 14:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •