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

نام تاپیک: فرم آهنربایی

  1. #1
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    فرم آهنربایی

    سلام دوستان
    چطوری میتونم فرم اول رو که جابه جا میکنم فرم دوم هم جابه جا بشه
    دقیقا مثل آهنربا بچسبه به فرم 1
    مثل برنامه teamviewer
    ولی نه با استفاده از تایمر!

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: فرم آهنربایی

    سلام
    شما اندازه فرم اول رو که دارید، لوکیشن فرم اول رو هم که دارید خب انتهای فرم اول همیشه برابر هست با ابتدای فرم دوم. یعنی y فرم اول همون y فرم دوم هست. برای به دست آوردن x فرم دوم باید x فرم اول رو بعلاوه width فرم اول کنید. اینجوری x , y فرم دوم که همون گوشه بالای سمت چپ فرم هست به دست میاد. حالا هر بار که فرم اول حرکت داده میشه (یعنی در رویداد locationChanged فرم اول) لوکیشن جدید رو برای فرم دوم تنظیم کنید. همین داستان رو برای سایز هم میتونید انجام بدید یعنی اگه width فرم اول تغییر کرد، لوکیشن جدید رو ست کنید و اگه Heigth فرم اول تغییر کرد Height فرم دوم رو هم تغییر بدید

  3. #3
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    نقل قول: فرم آهنربایی

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    شما اندازه فرم اول رو که دارید، لوکیشن فرم اول رو هم که دارید خب انتهای فرم اول همیشه برابر هست با ابتدای فرم دوم. یعنی y فرم اول همون y فرم دوم هست. برای به دست آوردن x فرم دوم باید x فرم اول رو بعلاوه width فرم اول کنید. اینجوری x , y فرم دوم که همون گوشه بالای سمت چپ فرم هست به دست میاد. حالا هر بار که فرم اول حرکت داده میشه (یعنی در رویداد locationChanged فرم اول) لوکیشن جدید رو برای فرم دوم تنظیم کنید. همین داستان رو برای سایز هم میتونید انجام بدید یعنی اگه width فرم اول تغییر کرد، لوکیشن جدید رو ست کنید و اگه Heigth فرم اول تغییر کرد Height فرم دوم رو هم تغییر بدید
    مرسی
    این کار رو قبلا انجام دادم
    ولی هنگام اجرا هیچ تغییری رخ نمیده و باید از تایمر استفاده بشه
    ولی من نمیخوام از تایمر استفاده کنم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: فرم آهنربایی

    میشه، من یه بخشیش رو میگم بقیه اش رو خودتون انجام بدید:
    یه دکمه توی فرم اول بذارید که فرم دوم رو باز میکنه:
    private void button1_Click(object sender, EventArgs e)
    {
    Form2 f2 = new Form2();
    f2.Show();
    f2.Location = new Point(this.Location.X + this.Width, this.Location.Y);
    }


    حالا برای رویداد locationChanged فرم اول هم کد زیر رو بنویسید:
    private void Form1_LocationChanged(object sender, EventArgs e)
    {
    if (Application.OpenForms["Form2"] != null)
    (Application.OpenForms["Form2"] as Form2).Location = new Point(this.Location.X + this.Width, this.Location.Y);
    }

  5. #5
    کاربر جدید
    تاریخ عضویت
    بهمن 1393
    محل زندگی
    Tehran
    پست
    28

    نقل قول: فرم آهنربایی

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


    secondForm select = new secondForm();
    select.WindowStartupLocation = WindowStartupLocation.Manual;
    select.Left = this.Left;
    select.Top = this.Top;
    // show Select form
    select.ShowDialog();



  6. #6
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    نقل قول: فرم آهنربایی

    مشکل من اینه که موقع اجرا ممکنه محل فرم اول تغییر کنه!

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: فرم آهنربایی

    شما مگه نمیگید دو تا فرم دارید که فرم دوم همیشه به فرم اول چسبیده؟ خب کدی که نوشتم دقیقاً همین کار رو انجام میده، ابتدا فرم اول باز میشه، شما روی یک دکمه کلیک می کنید تا فرم دوم باز بشه، فرم دوم سمت راست فرم اول باز میشه، با توجه به کدی که برای رویداد LocationChanged نوشتم شما هر وقت فرم اول رو تغییر بدید فرم دوم هم جاش تغییر میکنه و همچنان اینها به هم چسبیده هستند. حالا یا من متوجه سوال شما نشدم یا شما کدها رو امتحان نکردید.

  8. #8
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    نقل قول: فرم آهنربایی

    اگر موقع اجرا فرم اول جابه جا بشه فرم دوم دیگه کنارش نیست!

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: فرم آهنربایی

    آقا یه شخص بی طرف این 4 خط کد رو تست کنه ببینیم داستان چیه!!!

  10. #10
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    نقل قول: فرم آهنربایی

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    آقا یه شخص بی طرف این 4 خط کد رو تست کنه ببینیم داستان چیه!!!
    من میخوام فرم اول که جابه جا بشه فرم دوم رو همراه خودش بکشه ببره
    کدها رو نوشتم تو پروژه هروقت برنامه اجرا میشه میاد کنارش و این خوبه
    ولی اگه در هنگام اجرا کاربر فرم اول رو بکشه فرم دوم تکون نمیخوره!!!
    مرسی

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

    نقل قول: فرم آهنربایی

    ولی اگه در هنگام اجرا کاربر فرم اول رو بکشه فرم دوم تکون نمیخوره!!
    ان شا الله که تو رویداد LocationChanged کدی نوشتید؟

  12. #12
    کاربر دائمی آواتار vb-sosol
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    همین نزدیکی
    پست
    217

    نقل قول: فرم آهنربایی

    نقل قول نوشته شده توسط rezafatehy مشاهده تاپیک
    ان شا الله که تو رویداد LocationChanged کدی نوشتید؟

    بله ولی اتفاقی نمیوفته

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

    نقل قول: فرم آهنربایی

    بفرما اینم یه نمونه ساده
    دوستمون کدشون درسته ولی به جای ShowDialogeباید فرم Show بشه
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: فرم آهنربایی

    البته من جایی showDialog ننوشته بودم، با همون کدهای بالا هم جواب میداد نیازی به تعریف فرم به صورت سراسری نبود، البته چون border فرم تغییر کرده، نیاز بوده که اون +10 انجام بشه.

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

    نقل قول: فرم آهنربایی

    به جان خودم من منظورم شما نبودید!!! و راستش من دیشب نوشتم و دسترسی به اینترنت نبود برای همین کد شما رو نتونستم استفاده کنم شرمنده!
    secondForm select = newsecondForm(); select.WindowStartupLocation = WindowStartupLocation.Manual;
    select.Left = this.Left;
    select.Top = this.Top;
    // show Select form
    select.ShowDialog();

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

  1. گوشه های فرم
    نوشته شده توسط رحمانیان در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: جمعه 12 اسفند 1390, 12:52 عصر
  2. ساخت یک نوع فرم خاص
    نوشته شده توسط پدر ژپتو در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: سه شنبه 05 فروردین 1382, 13:16 عصر
  3. نمایش فرم MDI
    نوشته شده توسط ghaum در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: شنبه 24 اسفند 1381, 10:33 صبح
  4. تغییر ترتیب فرم ها
    نوشته شده توسط ghaum در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: چهارشنبه 21 اسفند 1381, 11:07 صبح
  5. طراحی فرم
    نوشته شده توسط abbas.exe در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: یک شنبه 18 اسفند 1381, 12:25 عصر

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

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