PDA

View Full Version : سوال: تنظیم کنترل های فرم به صورتی که با تغییر سایز فرم جای کنترل ها تغییر نکند.



راحیل مهربان
جمعه 29 خرداد 1394, 16:00 عصر
سلام
وقتتون بخیر

برای برنامه ای که میخوام بنویسم یه فرم اصلی مشخص کردم. خاصیت WindowsState فرم رو برابر با Mazimized قرار دادم.
وقتی به فرم کنترل های لازم رو اضافه میکنم و خروجی میگیرم ، کنترل ها اونجایی که باید نیستن. البته وقتی پنجره خروجی رو کوچیک میکنم و به اندازه سایز خود فرم میشه درست میشه.
فقط میخوام بدونم چطور میتونم کاری کنم که صفحه بزرگ یا کوچیک که میشه کنترل هام سرجاشون میمونن؟؟؟

ali_md110
جمعه 29 خرداد 1394, 16:17 عصر
سلام
اگر از Wpf استفاده کنید مشکلات اینجوری ندارید ولی در ویندوز فرم میتونید از کنترلهای TbleLayoutPanel و FlowLayotPanel استفاده کنید

راحیل مهربان
چهارشنبه 03 تیر 1394, 23:51 عصر
سلام دوباره
عکس اولیه فرم مد نظرم رو براتون گذاشتم. تو این فرم از یک کنترل TbleLayoutPanel استفاده کردم با 2 سطر و 2 ستون. قسمت 2 میخوام یه چیزی شبیه منو ایجاد کنم. با زدن دکمه های قسمت 2 فرم های مورد نظر در قسمت 1 فراخوانی و نمایش داده بشه. قسمت شماره 3 و چهار هم کنترل های مد نظرم رو بزارم.
دو تا سوال دارم:
1- چطوری میشه فاصله بین سلول های TbleLayoutPanel رو از بین برد؟ میخوام اون سه قسمت آبی رنگ به هم متصل باشن.
2- چطوری میتونم کاری کنم که کنترل های فرم داخلی (قسمت شماره یک) با بزرگ و کوچیک شدن فرم اصلی بهم نریزه. اصلا همچین کاری میتونم انجام بدم؟
132576

alireza264
پنج شنبه 04 تیر 1394, 01:32 صبح
سلام دوباره
عکس اولیه فرم مد نظرم رو براتون گذاشتم. تو این فرم از یک کنترل TbleLayoutPanel استفاده کردم با 2 سطر و 2 ستون. قسمت 2 میخوام یه چیزی شبیه منو ایجاد کنم. با زدن دکمه های قسمت 2 فرم های مورد نظر در قسمت 1 فراخوانی و نمایش داده بشه. قسمت شماره 3 و چهار هم کنترل های مد نظرم رو بزارم.
دو تا سوال دارم:
1- چطوری میشه فاصله بین سلول های TbleLayoutPanel رو از بین برد؟ میخوام اون سه قسمت آبی رنگ به هم متصل باشن.
2- چطوری میتونم کاری کنم که کنترل های فرم داخلی (قسمت شماره یک) با بزرگ و کوچیک شدن فرم اصلی بهم نریزه. اصلا همچین کاری میتونم انجام بدم؟
132576

سلام
از خصوصیت Dock استفاده کن

meysam jahedi
پنج شنبه 04 تیر 1394, 02:43 صبح
سلام
وقتتون بخیر

برای برنامه ای که میخوام بنویسم یه فرم اصلی مشخص کردم. خاصیت WindowsState فرم رو برابر با Mazimized قرار دادم.
وقتی به فرم کنترل های لازم رو اضافه میکنم و خروجی میگیرم ، کنترل ها اونجایی که باید نیستن. البته وقتی پنجره خروجی رو کوچیک میکنم و به اندازه سایز خود فرم میشه درست میشه.
فقط میخوام بدونم چطور میتونم کاری کنم که صفحه بزرگ یا کوچیک که میشه کنترل هام سرجاشون میمونن؟؟؟

برای هر کنترل از خاصیت Anchor ش استفاده کن. توی پروپرتی:چشمک:

jamal_ch
پنج شنبه 04 تیر 1394, 08:16 صبح
سلام شما این کار هارو به راحتی میتونید با dock بدبد دقت داشته باشید کارهای زیر رو باید به ترتیب انجام بدید
اولین یک پنل میزارید رو صفحه و dock Bottom و ارتفاع رو به اندازه دلخواه قرار دهید
دوم یک پنل dock right و طول رو به اندازه دلخواه قرار دهید
سه یک پنل و dock fill
حلا تو پنل اولی(dock bottom) باز دو تا پنل بزار
اولی رو dock right قرار بده و طول رو تنظیم کن
دومی رو dock fill قرار بده
اگه مشکل حل نشد پیام بدبد

راحیل مهربان
جمعه 05 تیر 1394, 16:38 عصر
سلام
این پنل هارو دقیقا کجا استفاده کنم؟
حقیقتش متوجه نشدم.

jamal_ch
شنبه 06 تیر 1394, 10:32 صبح
سلام داخل فرم برنامه
به جای TbleLayoutPanel که گفته بودید

CrafteR
شنبه 06 تیر 1394, 10:39 صبح
یه راه احت تر هم وجود داره که لازم نیست از پنل ها استفاده کنید و استفاده از خاصیت Anchor هستش.
همه ی ابزار های موجود در WindowsForm این خاصیت دارید.
وقتی که فرم نغییر اندازه میده این خاصیت میگه اون ابزار به کدوم لبه فرم به چسبه.

ebrahim.rayatparvar
شنبه 06 تیر 1394, 13:02 عصر
سلام مهندس
ظاهرا دوستان همه چیز رو گفتن به نظر من هم از Dock و Anchor بخصوص میتونی استفاده کنی ولی TbleLayoutPanel یا مشابه این کنترل که من در devexpress به نام LayoutControl از به جای این دو خاصیت انجام میدم یه مزیتی که داره که این دو کنترل نداره چیدمان کنترل ها در یک سطر و فاصله آنها از هم به طور استاندارد.
حالا میگی زمانی که کنترل ها داریم میچینیم سی شارپ خودش با خط میگی که تو یه سطر هستند یا تو یه ستون ولی برای تنظیم ستون کمی ضعف داره و بخصوص برای پویا کردن کنترل ها زمان کوچک بزرگ کردن که البته با Anchor میشه این کار رو کرد ولی بعضی موقع هم Anchor خوب کار نمیکنه و کنترل رو یهو خیلی کوچیک میکنه.

راحیل مهربان
جمعه 12 تیر 1394, 16:00 عصر
ممنون از همه دوستان به خاطر پاسخ ها.
اما هیچ کدوم از این راه حل ها مشکل اول من رو حل نکرده و هنوز هم اون فاصله سفید رنگ بین کنترل های آبی وجود داره.....

راحیل مهربان
جمعه 12 تیر 1394, 17:05 عصر
سلام شما این کار هارو به راحتی میتونید با dock بدبد دقت داشته باشید کارهای زیر رو باید به ترتیب انجام بدید
اولین یک پنل میزارید رو صفحه و dock Bottom و ارتفاع رو به اندازه دلخواه قرار دهید
دوم یک پنل dock right و طول رو به اندازه دلخواه قرار دهید
سه یک پنل و dock fill
حلا تو پنل اولی(dock bottom) باز دو تا پنل بزار
اولی رو dock right قرار بده و طول رو تنظیم کن
دومی رو dock fill قرار بده
اگه مشکل حل نشد پیام بدبد

با اینکاری که شما گفتین مشکل اولم حل شد.
منتهی برای مشکل دوم نتونستم کاری انجام بدم. نمیدونم شاید من درست نتونستم از صحبت دوستان توی کار استفاه کنم. ولی واقعا نمیدونم فرم دوم رو توی پنل فرم اول چطور نشون بدم که با تغییر سایز فرم اول اون هم تغییر کنه؟