PDA

View Full Version : چگونه به صورت ثابت قسمتهای از برنامه در تمام صفحات نمایش دهیم



bitcob589
جمعه 24 آبان 1392, 17:23 عصر
با سلام
چگونه به صورت ثابت قسمتهای از برنامه در تمام صفحات نمایش دهیم در نظر بگیرید قسمتهای وجود دارد که در تمام صفحات فرم باید یکسان باشند آیا این امکان وجود دارد قستمهای یک بار طراحی و کد نویسی کنیم و در تمام صفحات فرم از آن استفاده نماییم
شبیه عکس زیر قستمهای آبی به صورت یکسان در تمام صفحات فرم وجود دارد
112837

علی متقی پور
جمعه 24 آبان 1392, 17:49 عصر
با سلام

از طریق ارث بری اینکار براحتی امکان پذیر هست

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

bitcob589
جمعه 24 آبان 1392, 18:02 عصر
با سلام

از طریق ارث بری اینکار براحتی امکان پذیر هست

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

اگر امکان دارد یک مثال یا سمپل بگذارید:ناراحت:

علی متقی پور
جمعه 24 آبان 1392, 20:51 عصر
یه کلاس به پروژتون اضافه کنید و اسمش رو بذارید مثلا MyForm
بعد این کلاس باید از کلاس فرم دات نت ارث بری کنه MyForm : Form

بعد از اون شما تو کانستراکتور این کلاستون، تنظیم دلخواهتون رو قرار بدید. و بعد پروژه را بیلد کنید. بعد دیگه باید فرم های برنامتون بجای ارث بری از فرم دات نت از MyForm خودتون ارث بری کنن

khokhan
جمعه 24 آبان 1392, 23:19 عصر
اگر امکان دارد یک مثال یا سمپل بگذارید:ناراحت:

.................................................. ........... :لبخند: MDI forms



112847

bitcob589
شنبه 25 آبان 1392, 12:02 عصر
در زمان استفاده از کدی که در سمپل پست قبل گذاشته شده است خطای زیر نمایش داده می شود

Form that was specified to be the MdiParent for this form is not an MdiContainer.
Parameter name: value
کد به صورت زیر است

FRMTREE tree = new FRMTREE();
tree.MdiParent = this;
tree.Dock = DockStyle.Fill;
tree.Show();
panel1.Controls.Clear();
panel1.Controls.Add(tree);
خطا از خط زیر گرفته می شود

tree.MdiParent = this;
علت خطا چیست

kasraaa
شنبه 25 آبان 1392, 12:12 عصر
ی سوال ایا از رابطه مادر یا فرزندی میخوای کار کنی یا بدون والد فقط اگه ج میخوای سریع ج بده

bitcob589
شنبه 25 آبان 1392, 12:19 عصر
ی سوال ایا از رابطه مادر یا فرزندی میخوای کار کنی یا بدون والد فقط اگه ج میخوای سریع ج بده

رابطه مادربا فرزندی

kasraaa
شنبه 25 آبان 1392, 12:31 عصر
اگر از رابطه مادر فرزند است جواب دوستمون درست و هم چنین در هر فرمی که به برنامه دوستمون اضافه میکنیم فقط کافی است در رویداد کلیک باتنی که ما را به آن صفحه ارجاع میدهد این کد را بنویسیم

FormName ucA = new FormName();
ucA.MdiParent = this;
ucA.Dock = DockStyle.Fill;
ucA.Show();
this.panel2.Controls.Clear();
this.panel2.Controls.Add(ucA);

bitcob589
شنبه 25 آبان 1392, 12:38 عصر
اگر از رابطه مادر فرزند است جواب دوستمون درست و هم چنین در هر فرمی که به برنامه دوستمون اضافه میکنیم فقط کافی است در رویداد کلیک باتنی که ما را به آن صفحه ارجاع میدهد این کد را بنویسیم

FormName ucA = new FormName();
ucA.MdiParent = this;
ucA.Dock = DockStyle.Fill;
ucA.Show();
this.panel2.Controls.Clear();
this.panel2.Controls.Add(ucA);

طبق توضیحاتی که در پست 6 دادم خطای زیر می دهد

Form that was specified to be the MdiParent for this form is not an MdiContainer.
Parameter name: value

kasraaa
شنبه 25 آبان 1392, 12:56 عصر
معنیه این ارور اینه ک فرم مادر رو نمیشناسه یک فرم مادر دیگه بساز نگاه کن درست میشه یا نه؟

bitcob589
شنبه 25 آبان 1392, 13:04 عصر
معنیه این ارور اینه ک فرم مادر رو نمیشناسه یک فرم مادر دیگه بساز نگاه کن درست میشه یا نه؟

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

mousa1992
شنبه 25 آبان 1392, 13:07 عصر
با سلام
چگونه به صورت ثابت قسمتهای از برنامه در تمام صفحات نمایش دهیم در نظر بگیرید قسمتهای وجود دارد که در تمام صفحات فرم باید یکسان باشند آیا این امکان وجود دارد قستمهای یک بار طراحی و کد نویسی کنیم و در تمام صفحات فرم از آن استفاده نماییم
شبیه عکس زیر قستمهای آبی به صورت یکسان در تمام صفحات فرم وجود دارد



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

kasraaa
شنبه 25 آبان 1392, 13:14 عصر
من بخوام چنین کاری انجام بدم از یوزر کنترل استفاده میکنم

کدوم منظورته؟

khokhan
شنبه 25 آبان 1392, 16:28 عصر
فرم دیگر ساخته شد همان خطای قبلی نمایش داده می شود

این دیگه آخرشه:لبخند:
همون نمونه قبلی بدون mdi و بدون کوچکترین درد سر :لبخند:

bitcob589
شنبه 25 آبان 1392, 17:07 عصر
عکس زیر نگاه کنید
112870
در قسمتی دو دکمه وجود دارد در زمانی که بر روی کلیک می شود دو دکمه و پنلی که دو دکمه ها در آن قرار دارد از بین می رود

اگر نیاز سمپل فرم را بگذارم

khokhan
شنبه 25 آبان 1392, 17:10 عصر
عکس زیر نگاه کنید
112870
در قسمتی دو دکمه وجود دارد در زمانی که بر روی کلیک می شود دو دکمه و پنلی که دو دکمه ها در آن قرار دارد از بین می رود

اگر نیاز سمپل فرم را بگذارم
شما نام پنل رو در رویداد کلیک باتن اشتباهی نوشتین
فرمها به جای اینکه در پنل 2 باز بشوند در پنل 1 که دکمه ها در آن قرار دارند باز می شوند:لبخند:

bitcob589
شنبه 25 آبان 1392, 17:22 عصر
شما نام پنل رو در رویداد کلیک باتن اشتباهی نوشتین
فرمها به جای اینکه در پنل 2 باز بشوند در پنل 1 که دکمه ها در آن قرار دارند باز می شوند:لبخند:

پنلی که درآن باید در آن باز شود به درستی نوشته ام اما همان پنلی که دکمه ها در آن با کلیک دکمه ها بسته می شود:ناراحت:

hamid_hr
شنبه 25 آبان 1392, 17:24 عصر
http://www.codeproject.com/Articles/20845/How-to-derive-from-a-parent-form

khokhan
شنبه 25 آبان 1392, 18:00 عصر
پنلی که درآن باید در آن باز شود به درستی نوشته ام اما همان پنلی که دکمه ها در آن با کلیک دکمه ها بسته می شود:ناراحت:

این هم یه نمونه مرغوب و درجه یک فرد اعلی :لبخند::لبخند: متفاوت از هردو نمونه قبلی و با استفاده ازapi