PDA

View Full Version : ثابت کردن اندازه فرم



اَرژنگ
پنج شنبه 22 آذر 1386, 06:36 صبح
public Form1()
{
InitializeComponent();
this.MinimumSize = new Size(this.Width, this.Height);
this.MaximumSize = new Size(this.Width, this.Height);
}

Mahdi.Kiani
پنج شنبه 22 آذر 1386, 14:04 عصر
public Form1()
{
InitializeComponent();
this.MinimumSize = new Size(this.Width, this.Height);
this.MaximumSize = new Size(this.Width, this.Height);
}


این یه سوال بود یا یه نکته؟
اگه نکته بود که نیازی به کد نویسی نیست چون این خواص را در حالت Design هم میشه ست کرد. و اگه قرار باشه که از این روش برای ثابت نگه داشتن اندازه فرم استفاده بشه خیلی خیلی بهتره که در Design Time انجام بشه تا در Run Time !!!!!!
مضاف بر این که با خاصیت FormBorderStyle هم میشه اندازه فرم را ثابت نگه داشت.
من که منظورتون را از این پست که براش یه تاپیک درست کردین متوجه نشدم !!!!!

اَرژنگ
پنج شنبه 22 آذر 1386, 14:25 عصر
این یه سوال بود یا یه نکته؟
اگه نکته بود که نیازی به کد نویسی نیست چون این خواص را در حالت Design هم میشه ست کرد.

اگر میشه چی را باید چطوری ست کرد؟



و اگه قرار باشه که از این روش برای ثابت نگه داشتن اندازه فرم استفاده بشه خیلی خیلی بهتره که در Design Time انجام بشه تا در Run Time !!!!!!

اگر ممکن است که این کار را در Design Time انجام داد بله درست میفرمائید، روش انجام دادن این کار را در Design Time را لطفا یکی بفرسته.



مضاف بر این که با خاصیت FormBorderStyle هم میشه اندازه فرم را ثابت نگه داشت.


اشتباه کار هم در همینجاست، FormBorderStyle نوع بوردر فرم را عوض میکندنه اینکه فرم را ثابت نگه دارد، همین چند وقت پیش یکی پرسید که بدونه عوض کردن نوع بوردر چطوری میشه اندازه فرم را ثابت نگه داشت. این روش نوع فرم را عوض میکند نه اینکه اندازه‌اش را ثابت نگه دارد، با این روش اصلا شکل فرم یکریخت دیگر میشه و در نتیجه جواب درست به این سوال نیست. با اینکی این سوال به نظر ساده میاد جوابهایی که بهش داده میشند کاملا درست نیستند.




من که منظورتون را از این پست که براش یه تاپیک درست کردین متوجه نشدم !!!!!
روش حرفه‌ای انجام اینکار را فرستادم که همه بدانند.
چونکهاین سوال به تازگی پرسیده شده بود و جوابهایی که داده شده بودند کامل نبودند و از عادتهایه بده برنامه نویسی درشان استفاده شده بود. به دلیل اشتباهی املائی صاحب توپیک پاکش کردند.

Mahdi.Kiani
پنج شنبه 22 آذر 1386, 21:07 عصر
اگر میشه چی را باید چطوری ست کرد؟



برنامه Windows Application2 که Attach شده برای پاسخ به این سوالتون




اگر ممکن است که این کار را در Design Time انجام داد بله درست میفرمائید، روش انجام دادن این کار را در Design Time را لطفا یکی بفرسته




عطف به جواب بالایی



اشتباه کار هم در همینجاست، FormBorderStyle نوع بوردر فرم را عوض میکندنه اینکه فرم را ثابت نگه دارد،


شما مطمئنین که اندازه فرم ثابت نمیمونه؟ امتحان کردین؟ شاید روشش را بلد نیستین




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


یه عکس هم Attach شده که از همین روش در اون استفاده شده. ظاهر این فرم به نظر شما با ظاهر فرمی که خاصیت FormBorderStyle اون تغییر نکرده چقدر تفاوت داره؟!!!!
در ضمن برنامه WindowsApplication3 را هم که Attach شده میتونین ببینین




روش حرفه‌ای انجام اینکار را فرستادم که همه بدانند.

بدون شرح .......!!!

اَرژنگ
جمعه 23 آذر 1386, 01:44 صبح
برنامه Windows Application2 که Attach شده برای پاسخ به این سوالتون

روشی که استفاده شده اشتباه است، همین روش را در توپیکی که پاک شد فرستاده بودند. یکی از اولین مباحث در برنامه نویسی استفاده نکردن Hard Coding از اعداد است.
اشکال این روش که فرستاده شده این است که اگر اندازه فرم را یکی عوض کرد باید یادش نگهداره که اعدادی را که هم Design Time هستند را عوض کند،





شما مطمئنین که اندازه فرم ثابت نمیمونه؟ امتحان کردین؟ شاید روشش را بلد نیستین

شما درک نکردین که من چی گفتم، با عوض کردن BorderStyle در حقیقت نوع فرم را دارید عوض میکنید، حالا اینکه اندازه فرم ثابت میماند یا نه مهم نیست، چونکه این فرم دیگر همان فرم نیست.
من در پست قبلیم گفتم که چند نفر داشتند دنبال یک روش برایه ثابت نگه‌داشتن اندازه فرم میگشتند، و یکی از شرطهاشان هم این بود که از BeorderStyle استفاده نشه، در ضمن BorderStyle اسمش روشه، به نوع Border ربط دارد و آن را عوض میکند نه اینکه مانع عوض شدن اندازه فرم بشد.




یه عکس هم Attach شده که از همین روش در اون استفاده شده. ظاهر این فرم به نظر شما با ظاهر فرمی که خاصیت FormBorderStyle اون تغییر نکرده چقدر تفاوت داره؟!!!!
در ضمن برنامه WindowsApplication3 را هم که Attach شده میتونین ببینین

مهم نیست که من یا شما یا هرکی دیگر بگه که شبیه هستند یا نه، کسانی که پرسیده بودند این روش را نمیخواستند.



بدون شرح .......!!!
بله درست میفرمائید!

Mahdi.Kiani
جمعه 23 آذر 1386, 07:28 صبح
.
اشکال این روش که فرستاده شده این است که اگر اندازه فرم را یکی عوض کرد باید یادش نگهداره که اعدادی را که هم Design Time هستند را عوض کند،



اتفاقا خیلی بهتر است از روش کد نویسی. به این دلیل که اگه شما هر دو خاصیت را ست کنید دیگه به هیچ عنوان نمیتونین در حالتDesign اندازه فرمتون را عوض کنین. و این باعث میشه که از خطرات احتمالی ناشی از حواس پرتی بعضیا هم جلوگیری بشه.!!!




من در پست قبلیم گفتم که چند نفر داشتند دنبال یک روش برایه ثابت نگه‌داشتن اندازه فرم میگشتند، و یکی از شرطهاشان هم این بود که از BeorderStyle استفاده نشه، .



در عنوان تاپیک شرطی نمیبینم. بهتر بود یا کامل می گفتین یا .......




در ضمن BorderStyle اسمش روشه،به نوع Border ربط دارد و آن را عوض میکند نه اینکه مانع عوض شدن اندازه فرم بشد


پس هنوزم میگین که نمیتوان با این خاصیت منع عوض شدن اندازه فرم شد؟!!!!!!



مهم نیست که من یا شما یا هرکی دیگر بگه که شبیه هستند یا نه، کسانی که پرسیده بودند این روش را نمیخواستند.




توضیحات کامل داده شد!!




بله درست میفرمائید!


100% !!!!!

اَرژنگ
جمعه 23 آذر 1386, 08:27 صبح
اتفاقا خیلی بهتر است از روش کد نویسی. به این دلیل که اگه شما هر دو خاصیت را ست کنید دیگه به هیچ عنوان نمیتونین در حالتDesign اندازه فرمتون را عوض کنین. و این باعث میشه که از خطرات احتمالی ناشی از حواس پرتی بعضیا هم جلوگیری بشه.!!!

نکته جالبی است و این یک را حل خوب دیگر حساب میشه، منتها این یک شرط‌ دیگر را هم ارضا میکند، نه اینکه فقط کاربر نتواند سایز را عوض کند و علاوه بر آن در زمان دیزاین هم نشه سایز را عوض کرد.
این روش را برایه ثابت نگه داشتن اندازه فرم در هر دو زمان ران تایم و دیزاین تایم توصیه میکنم.
برایه ثابت نگه داشتن اندازه فرم فقط در زمان ران تایم روش کد را توصیه میکنم.


در عنوان تاپیک شرطی نمیبینم. بهتر بود یا کامل می گفتین یا .......

در پست شماره ۳ گفته شده بود.



پس هنوزم میگین که نمیتوان با این خاصیت منع عوض شدن اندازه فرم شد؟!!!!!!

نه، از همان اولش هم من همچین چیزی نگفتم، شما اشتباه درک کردید.
من میگم که نوع فرم را عوض میکند نه اینکه فقط باعث ثابت ماندن سایزش باشد. اگرچه این نوع فرم سایزش ثابت میماند ولی بعد از اینکه نوع فرم را عوض کردید نمیتوانید ادعا کنید که فقط سایز فرم را ثابت کردید ، چونکه نوع این فرم با نوع فرم قبلیش فرق دارد.
در ثانی اگر این خواصیت فقط باعث منع عوض شدن اندازه فرم میشد چرا بعضیها نمیخواهند از این روش برایه ثابت نگه داشتن اندازه فرم استفاده کنند؟


توضیحات کامل داده شد!!

در این پست توضیحات کامل در مورد مثال دوم که پست کردید دادید، در پستی که مثال را پست کردید بدون شرح...!!! بود.



100% !!!!!
قبل از توضیحاتی که در این پست فرستادید در حقیقت ٪۸۰ بود، با توضیحات در این پست به
٪۲۰۰ رسید!!!!!

Mahdi.Kiani
جمعه 23 آذر 1386, 13:06 عصر
نکته جالبی است و این یک را حل خوب دیگر حساب میشه، منتها این یک شرط‌ دیگر را هم ارضا میکند، نه اینکه فقط کاربر نتواند سایز را عوض کند و علاوه بر آن در زمان دیزاین هم نشه سایز را عوض کرد.
این روش را برایه ثابت نگه داشتن اندازه فرم در هر دو زمان ران تایم و دیزاین تایم توصیه میکنم.
برایه ثابت نگه داشتن اندازه فرم فقط در زمان ران تایم روش کد را توصیه میکنم.

در پست شماره ۳ گفته شده بود.


نه، از همان اولش هم من همچین چیزی نگفتم، شما اشتباه درک کردید.
من میگم که نوع فرم را عوض میکند نه اینکه فقط باعث ثابت ماندن سایزش باشد. اگرچه این نوع فرم سایزش ثابت میماند ولی بعد از اینکه نوع فرم را عوض کردید نمیتوانید ادعا کنید که فقط سایز فرم را ثابت کردید ، چونکه نوع این فرم با نوع فرم قبلیش فرق دارد.
در ثانی اگر این خواصیت فقط باعث منع عوض شدن اندازه فرم میشد چرا بعضیها نمیخواهند از این روش برایه ثابت نگه داشتن اندازه فرم استفاده کنند؟

در این پست توضیحات کامل در مورد مثال دوم که پست کردید دادید، در پستی که مثال را پست کردید بدون شرح...!!! بود.


قبل از توضیحاتی که در این پست فرستادید در حقیقت ٪۸۰ بود، با توضیحات در این پست به
٪۲۰۰ رسید!!!!!

خوشحالم که بلاخره قانع شدید !!!
حالا میتونین با خیال راحت این تاپیک را هم حل شده اعلام کنین و پرونده اونو ببندین!!!

اَرژنگ
جمعه 23 آذر 1386, 15:27 عصر
دوستان، اگر متوجه شده باشید مسئله را نمیشه حل شده فرض کرد چونکه الان معلوم میشه که مسئله کامل تعریف نشده بود.

"ثابت کردن اندازه فرم" به خودیه خود گنگ و مبهم است. باید به شرائط دیگر هم توجه بشد و بستگی به شرائط جواب فرق میکند، نمیشه گفت که کدام روش بهترین است چونکه هر کدام شرائطی را براورده میکند (و شرائطی را هم نقض میکند).

۳ روشی که بهشان نگاه انداختیم اینها بودند:

۱) عوض کردن نوع بردر فرم.
مزیتهاش : ساده ترین روش
مضراتش : این روش نوع بردر را عوض میکند و در بعضی از مواقع این مورد پسند نیست

۲)ست کردن ماکزیمم و مینیمم در کد:
مزیتهاش: در ران تایم فرم را نمیشه سایزش را عوض کرد ولی در دیزاین تایم میشه براحتی ریسایزش کرد.
مضراتش: در ران تایم فرم را نمیشه سایزش را عوض کرد ولی در دیزاین تایم میشه براحتی ریسایزش کرد. چطوری ممکنه که یک چیزی همان خوبیش همان بدیش باشد؟ بستگی به این دارد که ما چی بخواهیم، اگر نخواهیم که در دیزاین تایم قابل ریسایز شدن باشد پس این روش درست نیست.

۳)ست کردن ماکسیمم و مینیمم در دیزاین تایم:
مزیتهاش: در ران تایم فرم را نمیشه سایزش را عوض کرد و در دیزاین تایم هم نمیشه براحتی ریسایزش کرد.
مضراتش : اگر برنامه نویس به اینکه چرا نمیتواند فرم را در دیزاین تایم ریسایز کند وارد نباشد یا اینکه فراموش کرده باشد باید یکمقداری وقتش را هدر بده که دلیل را پیدا کند.

نتیجه گیری:‌ هر روش محاسن و معایب مربوط به خودش را بستگی به شرائط داده شده دارد.

من میگم که به جایه اینکه به "روش من و تو گیر بدیم " به تحلیل و تفسیر روشها نگاه بندازیم بیشتر فایده دارد.
در ضمن اثبات کردن از حد برنامه نویسان یکمقداری بالاتره، یکمقدار به داشتن دانش در فلسفه و ریاضیات ربط داره، برایه همین هر برنامه نویسی قابلیت اثبات کردن را ندارد. همین که تجزیه و تحلیل کنند بسشان است.

اَرژنگ
جمعه 23 آذر 1386, 15:39 عصر
دوستان ، رفقا ، همکاران، زندگی کوتاه است، بیایین به همدیگر گیر ندیم ولی تا جایی که میتوانیم به افکار و روشهایه همدیگر گیر بدیم و تجزیه تحلیل کنیم.اینطوری همه با هم پیشرفت میکنیم.