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

نام تاپیک: باز کردن یک فرم در فرم دیگر (MdiParent)

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    شیراز
    پست
    49

    باز کردن یک فرم در فرم دیگر (MdiParent)

    برای باز کردن یک فرم در فرم دیگر mdiParent فرم اصلی را برابر true قرار می دهم و بعد Mdi ان را برابر فرم اصلی قرار می دهم.
    1.نمی توان به فرم مکان داد یعنی اینکه به فرم بگوییم در مکان 100 و 100 فرم اصلی نمایش داده شود آیا راهی برای این کار وجود دارد؟
    2.رنگ فرم اصلی به صورت خاکستری تیره می شود که نمی توان آنرا تغییر داد راهی وجود دارد؟
    3.آبا می توان یک فرم را به عنوان کنترل به کنترلی مثل panel اضافه کرد؟

  2. #2

    نقل قول: باز کردن یک فرم در فرم دیگر (MdiParent)

    نقل قول نوشته شده توسط sajjadzare مشاهده تاپیک
    برای باز کردن یک فرم در فرم دیگر mdiParent فرم اصلی را برابر true قرار می دهم و بعد Mdi ان را برابر فرم اصلی قرار می دهم.
    1.نمی توان به فرم مکان داد یعنی اینکه به فرم بگوییم در مکان 100 و 100 فرم اصلی نمایش داده شود آیا راهی برای این کار وجود دارد؟

    private void Form1_Load(object sender, EventArgs e)
    {
    Form2 f2 = new Form2();
    f2.MdiParent = this;
    f2.StartPosition = FormStartPosition.Manual;
    f2.Location = new Point(100, 100);
    f2.Show();
    }


    نقل قول نوشته شده توسط sajjadzare مشاهده تاپیک
    2.رنگ فرم اصلی به صورت خاکستری تیره می شود که نمی توان آنرا تغییر داد راهی وجود دارد؟
    اصولا همان کنترل اندیس 0 ئه، اما به هر حال کلی بنویسیم بهتره :

    foreach (Control ctl in this.Controls)
    {
    if (ctl.GetType() == typeof(MdiClient))
    {
    ctl.BackColor = Color.Red;
    break;
    }
    }


    نقل قول نوشته شده توسط sajjadzare مشاهده تاپیک
    3.آبا می توان یک فرم را به عنوان کنترل به کنترلی مثل panel اضافه کرد؟
    بجای اینکه فرم بسازید، یک UserControl بسازید، فکر کنید که فرمه، کنترل ها رو داخلش قرار دهید و
    هر کدی که لازمه برای کنترل هایش بنویسید. وقتی ساختن اش تموم شد یکبار پروژه را کامپایل کنید.
    حالا می توانید نمونه ای از UserControl رو هم داخل فرم قرار بدهید تا پنجره قابل جابجا کردن داشته باشه
    و هم داخل یک Panel یا GroupBox و ... قرار اش دهید.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    شیراز
    پست
    49

    نقل قول: باز کردن یک فرم در فرم دیگر (MdiParent)

    الان borderStyle فرم اصلی بصورت Fixed3D است آیا برای این موضوع هم راه حلی وجود داره؟

  4. #4

    نقل قول: باز کردن یک فرم در فرم دیگر (MdiParent)

    نقل قول نوشته شده توسط sajjadzare مشاهده تاپیک
    الان borderStyle فرم اصلی بصورت Fixed3D است آیا برای این موضوع هم راه حلی وجود داره؟
    صد البته، اول باید نوع کادر دور MdiClient رو مشخص کنیم، در مشخصه های کلاس اش چنین چیزی نداره، پس از SetWindowLong
    استفاده می کنیم که یک تابع API ویندوز ئه. در داخل کلاس فرم تان این کد ها رو اضافه کنید تا به این تابع دسترسی داشته باشیم :

    private const int GWL_EXSTYLE = -20;

    [System.Runtime.InteropServices.DllImport("user32.d ll", EntryPoint = "SetWindowLongA")]
    private static extern int SetWindowLong(int hWnd, int nIndex, int dwNewLong);


    حالا اون حلقه ای که نوشته بودیم رو تغییر دهید :

    private void Form1_Load(object sender, EventArgs e)
    {
    foreach (Control ctl in this.Controls)
    {
    if (ctl.GetType() == typeof(MdiClient))
    {
    MdiClient mdi = (MdiClient)ctl;
    SetWindowLong(mdi.Handle.ToInt32(), GWL_EXSTYLE, 0);
    mdi.Size = new Size(1, 1);
    mdi.BackColor = Color.Red;
    break;
    }
    }
    }

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

  1. باز کردن چندین بار یک فرم
    نوشته شده توسط Snoopboy در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: یک شنبه 09 خرداد 1389, 10:01 صبح
  2. باز کردن رکورد فعال در فرم
    نوشته شده توسط silva_105 در بخش Access
    پاسخ: 1
    آخرین پست: چهارشنبه 12 اسفند 1388, 07:58 صبح
  3. باز کردن برنامه فتوشاپ از فرم برنامه
    نوشته شده توسط aradsystem در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: چهارشنبه 21 آذر 1386, 02:31 صبح
  4. باز کردن چندین باره یک فرم
    نوشته شده توسط Payman62 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: شنبه 28 مهر 1386, 18:24 عصر
  5. باز کردن زیر منو به روش دیگر
    نوشته شده توسط علی رضائی در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: چهارشنبه 17 مرداد 1386, 08:00 صبح

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

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