PDA

View Full Version : مبتدی: سوال در مورد تغییرات خاص در فرم



eletcomp
سه شنبه 24 دی 1392, 13:49 عصر
با سلام و خسته نباشید بر عزیزان
میخواستم بدونم چطور می توان یک فرم را طوری تنظیم کرد تا کل صفحه ویندوز(مثل نوار task manager و start menu ) را در بر بگیرد!! مثلا مثل اجرای یک فایل exe مثل یک بازی: زمانی که یک فایل exe را اجرا می کنید !! داخل یک محیط دیگه می شوید و از محیط ویندوز بیرون می روید!! نمی دونم ایا منظورم را خوب فهماندم یا نه!!
سپاس

sagggad
سه شنبه 24 دی 1392, 14:24 عصر
با عرض سلام
خصوصیت FormBorderStyle را برابر FixedDialog تنظیم کرده و سپس Size فرم را تا جایی که امکان دارد بزرگ کنید
(برای این که متوجه نهایت اندازه فرم بشوید یک عدد خیلی بزرگ در سایز بزنید مثلا: 20000;20000 :Size )
با این کار خود به خود به صورت بزرگ ترین اندازه در میاید...

eletcomp
سه شنبه 24 دی 1392, 14:44 عصر
ممنون دوست عزیز: ولی چند تا مشکل وجود داره؟؟؟ و راستی چند سئوال !!
1.size فرم را گفتید تغییر بده: دادم ولی روی 20000 قبول نمی کرد!!1620 اخرش هست!!گمان کنم طبق رزولوشن هست!
2. یک مشکل اینجا وجود داره!!! الان چطور می تونم دکمه close و min و max را پنهان کنم؟؟؟چون مشکل ساز هست!! میخوام فرم کل صفحه را در بر بگیره!! تا چیزی اصلا معلوم نباشه!!
3. چطور میتوان فرم را قفل کرد!! به طوری که با درک فرم : فرم حرکت نکنه!!؟
سپاس

maythamahmadi
سه شنبه 24 دی 1392, 15:02 عصر
دوست من تو پراپرتی خود فرم گزینه هاش هست که میتونی اونارو false کنی

MinimizeButton , MaximizeButton,CloseButton

sagggad
سه شنبه 24 دی 1392, 15:03 عصر
برای سوال اول:
من هم برای همون گفتم این کار رو بکنید که نهایت رو متوجه بشید
سوال دوم:
خصوصیت ControlBox رو برابر False قرار بدید

sagggad
سه شنبه 24 دی 1392, 15:08 عصر
برای سوال سومت :
کد زیر رو در رویداد LocationChanged فرم بنویس:

int x = 0;
int y = 0;
this.Location = new Point(x, y);
به جای 0 هم موقعیتی که میخوای فرم در اون قفل بشه رو بذار

eletcomp
سه شنبه 24 دی 1392, 16:16 عصر
ممنون دوست عزیز
مشکل حل شد ولی به نظر باز هم یک مشکل وجود داره؟؟ میخوام این قسمت (این فضایی که توی عکس معلومه:قسمت شفاف فرم که با رنگ قرمز دورش را مشخص کردم!)هم حذف بشه ایا راه حلی وجود داره؟
http://soca.comze.com/up/5ef831f5d34f.jpg
سپاس

sagggad
سه شنبه 24 دی 1392, 16:24 عصر
خصوصیت FormBorderStyle را برابر None قرار دهید

eletcomp
سه شنبه 24 دی 1392, 16:41 عصر
تشکر: این حالت را تست کردم ولی باز هم به حالت اولیه بازگشت!! یعنی نوار task manager و start menu دوباره نمایش داده میشه!! بالا حذف میشه ولی پایین دوباره ظاهر میشه!! من میخوام فرم کل صفحه ویندوز را در بر بگیره و هیچ چیزی مربوط به ویندوز مشخص نباشه!! ایا راه حل دیگه وجود داره؟
سپاس

sagggad
سه شنبه 24 دی 1392, 16:53 عصر
خصوصیت WindowsState رو برابر Maximized قرار بدهید

eletcomp
سه شنبه 24 دی 1392, 17:02 عصر
ممنون دوست عزیز: حالا مشکل حل شد!!:تشویق:
چند تا سئوال دیگه هم داشتم لطفا راهنمایی کنید! توی این عکس ها چه عناصری به کار برده شده هست!! ایا گرافیکش با فوتوشاپ درست شده هست؟ان دکمه max و min در بالا صفحه (سمت چپ) چطوری به ان حالت در امده؟؟؟ توی عکس 1و2 مشخص هست!

عکس1
http://uvea.net63.net/up/7a96b1f61097.jpg


عکس2
http://uvea.net63.net/up/4389bfe4fe2e.jpg

سپاس

maythamahmadi
سه شنبه 24 دی 1392, 17:19 عصر
اسکین فرمهاش Iris Skin استفاده شده

دکمه ها و پنلهاشم فک کنم ماله DevExpress یا تلریک باشه

malekabadi_a
سه شنبه 24 دی 1392, 17:25 عصر
ممنون دوست عزیز: حالا مشکل حل شد!!:تشویق:
چند تا سئوال دیگه هم داشتم لطفا راهنمایی کنید! توی این عکس ها چه عناصری به کار برده شده هست!! ایا گرافیکش با فوتوشاپ درست شده هست؟ان دکمه max و min در بالا صفحه (سمت چپ) چطوری به ان حالت در امده؟؟؟ توی عکس 1و2 مشخص هست!

عکس1
http://uvea.net63.net/up/7a96b1f61097.jpg


عکس2
http://uvea.net63.net/up/4389bfe4fe2e.jpg

سپاس

سلام دوست عزيز. اين عناصر ممكن است از دو دسته بسيار مهم باشد. يكي از اين عناصر كه شايد مهم ترين آنها باشد ، استفاده از كتابخانه ي كنترل ها مثل Janus باشه. كه نمونه هاي ايراني كتابخانه هاي كنترل نيز بسيار زياد است. عناصر به كار برده شده در اين عكس نيز شايد از همين دسته باشد. دسته ي دوم از اين عناصر ، كنترل هايي هستند كه برنامه نويس براي اينكه كنترل هاي مخصوص به خود و گرافيكي را بسازد ، از زبان WPF استفاده مي كند. در اين زبان برنامه نويسي ، گرافيك برنامه از منطق آن كاملا جدا هست. به هر حال اين كنترل هايي كه شما به آن در اين عكس ها اشاره كرديد ، از كنترل هاي فريم ورك ويندوز نيست و نمي توان آنها را به اين شكل و صورت درآورد. اميدوارم توانسته باشم اصل مطالب را منتقل كرده باشم. يا علي

sagggad
سه شنبه 24 دی 1392, 17:51 عصر
بله
این برنامه سرتاسر استفاده از کامپوننت های مختلف است...
در این فرم از Visual Styler استفاده شده که برای زیباسازی ظاهر فرم قرار میگیرد
البته به نظر من استفاده از این کامپوننت ها اصلا خوب نیست
مدتی پیش یک برنامه حسابداری برای مشتری نوشتم،Visual Styler نیز یکی از کامپوننت های استفاده شده در این برنامه جهت زیباسازی بود
این برنامه اجرا نمیشد و پیوسته ارور میداد
من نزدیک 1 ماه طول کشید تا تونستم متوجه بشم که مشکل از یک سری مسائل داخلی استفاده از کامپوننت های آماده از جمله Visual Styler بوده است
به هرحال توصیه ی من این است که از کامپوننت های اماده استفاده نکنید و اگر میخواهید برنامه ای زیبا داشته باشید
یا خودتان کامپوننت طراحی کنید و یا با WPF برنامه بنویسید
موفق باشید

eletcomp
سه شنبه 24 دی 1392, 17:52 عصر
ممنون دوستان: لطفا عناصری که توی فرم به کار رفته هست را اگر بلدید یکم تحلیل کنید!! چی هستند ؟؟
سپاس

sagggad
سه شنبه 24 دی 1392, 18:01 عصر
تمامی برنامه کامپوننت است
از جمله این ها که لینک دانلودش رو تو خود سایت براتون میذارم:
ساعت آنالوگ:لینک دانلود کامپوننت ( dll ) ساعت (http://www.csharpdotnet.ir/category/cat-4/page/3/)
دکمه های شیشه ای: GlassButton.rar‏ (http://barnamenevis.org/attachment.php?attachmentid=27171&d=1231360381)
کامپوننت تاریخ شمسی:تقویم.rar (http://barnamenevis.org/attachment.php?attachmentid=113503&d=1386223981)
DPiket_Farsi.rar (http://barnamenevis.org/attachment.php?attachmentid=113504&d=1386223983) (http://www.csharpdotnet.ir/category/cat-4/page/3/)

eletcomp
سه شنبه 24 دی 1392, 18:12 عصر
ممنون دوست عزیز: ولی با عرض پوزش! این فایل های dll و ocx را چطور توی سی شارپ باید وارد کرد؟؟:لبخندساده:
سپاس

sagggad
سه شنبه 24 دی 1392, 18:17 عصر
بکشید و روی جعبه ابزار رها کنید

eletcomp
سه شنبه 24 دی 1392, 18:35 عصر
ممنون دوست عزیز: تقویمی کوچک تر و جمع و جور تر مثل تقویم ای که توی عکس های بالا هست سراغ دارید؟
سپاس

eletcomp
سه شنبه 24 دی 1392, 21:19 عصر
سلام یک سئوال دیگه!! موقع ای که میخوام کامپوننت های اضافه شده به تول باکس را به منو اضافه کنم با این ارور مواجه می شوم!!
http://www.xum.ir/images/2014/01/14/CaptureYt9Oz.jpg
سپاس

xxnagin
سه شنبه 24 دی 1392, 21:33 عصر
سلام
1 چند تا تنظیمات
بعضی هاش از نظرهای دوستان درسته ولی بعضی هاش کاملا اشتباهه
FormBorderStyle را none باید بذاری و برای خودت یه نوار(titlebar) عنوان درست کنی از کامپوننت هم استفاده کنی باز هم نمیشه
چون titleebar جایگزین قبلی میشه و چاره ای نداری
در مواقعی که از تایتلبار فرمت خوشت نیاد
درست شاید فکر کنی که من از تایتلبار فرمم خوشم نمیاد برای همین میخوام عوض کنم
ولی فرمت همچنان زیر تسکبار هست
از لینک زیر کمک بگیری
http://www.codeproject.com/Articles/33716/Fancy-Windows-Forms
http://www.codeproject.com/Tips/592446/How-to-create-your-own-advanced-TitleBar

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


یا یه user control بسازی و سه تا دکمه یا سه تا عکس بذاری که کار close max min رو برات انجام بده
نه اینکه سایز فرمت رو ببری بالا اینجوری اگه فرم میاد زیر مثلا اگه دکمه windows که روی کی برد هست رو بزنی یا مثلا هر کاری جز برنامه شما دیگه فرمت رو ی تسکبار نمیاد و همون زیر می مونه
و به جای اینکار topmost فرمت باید true کنی تا فرمت روی taskbar بیاد

farhadscript
سه شنبه 24 دی 1392, 21:48 عصر
اگه نرم افزاری گرافیکی میخواین میتونین به من بگین چون من با نرم افزار اتوران ساز برنا مه نویسی میکنم که خیلی انعطاف گرافیکی داره طوری که میتونیم خودمون دکمه هاشو با چند تا عکس ردیف کنیم البته دکمه های خیلی پیشرفته نداره ها خواستین خودتون دانلود کنینش
AutoPlay Media Studio 8

farhadscript
سه شنبه 24 دی 1392, 21:52 عصر
تمامی برنامه کامپوننت است
از جمله این ها که لینک دانلودش رو تو خود سایت براتون میذارم:
ساعت آنالوگ:لینک دانلود کامپوننت ( dll ) ساعت (http://www.csharpdotnet.ir/category/cat-4/page/3/)
دکمه های شیشه ای: GlassButton.rar‏ (http://barnamenevis.org/attachment.php?attachmentid=27171&d=1231360381)
کامپوننت تاریخ شمسی:تقویم.rar (http://barnamenevis.org/attachment.php?attachmentid=113503&d=1386223981)
DPiket_Farsi.rar (http://barnamenevis.org/attachment.php?attachmentid=113504&d=1386223983) (http://www.csharpdotnet.ir/category/cat-4/page/3/)

نمیشه کد ساعت رو خودمون بنویسیم؟
مثلا عدد ساعت رو از ویندوز بگیره و بر اساس اون موقعیت عقربه رو تنظیم کنه؟

alireza_s_84
سه شنبه 24 دی 1392, 22:09 عصر
بعضی وقتها کلک های مرغابی رو میشه اعمال کرد و کار راه میافته ولی چقدر این راهکارها درست هستن بماند!!!
از اول تاپیک تا اینجا که خودم پست زدم ، روشهایی رو دیدم که کار راه انداز بود ولی در عمل هیچکدوم جوابگوی نیاز واقعی ما نیستند
کارهایی مثل استفاده از حقه های حذف TitleBar ، ControlBox ، ست کردن یک اندازه ثابت برای فرم وقتی فرم ری سایز میشه و ... ، اینها همه کار رو راه میندازن ولی وقتی تعداد اینها زیاد بشه و قرار باشه همه رو باهم انجام بدیم اینجاست که مفهومی بنام "نیازمندی ما" مطرح میشه و این نیازمندی منجر به تولید و توسعه یک کامپوننت جدید میشه که نیازهای ما رو برآورده میکنه
استفاده از کنترلهای اسکین و زیبا شاید کار راه انداز باشه ولی یادتون باشه اینها بسیار سنگین هستند و خود نیازمند پردازش ، از اونجایی که دات نت خود سرعت قابل قبولی نداره و کلی درنگ داره زمانی که برنامه ی شما به انتها رسید متوجه کاستی هایی میشین که دلیلش استفاده ی بیش از حد از گرافیک و کامپوننت های زیباسازی هست.
هنوز مشتریان زیادی هستند که از سیستمکی با این مشخصات استفاده میکنند:
CPU: 2.4 Cell
Ram: 256/DDR
VGA: 64M Or 128
این سیستم ها طرفدارن زیادی دارن و توی 60 درصد فروشگاهها از اونها استفاده میشه. چون فقط برای یک سیستم حسابداری یا بسته به پیشه مورد نظر برای یک برنامه ی خاص در نظر گرفته میشن.
من مشتریان زیادی رو دیدم که از اینجور سیستمها استفاده میکنن و همین هم برای کار اونها کافیه
پس برای طراحی واسط کاربر کاملا اصولی فکر کنید. استفاده از اسکین ها و کامپوننت ها راه حل آخر نیست.
برای داشتن فرمهای گرافیکی زیبا توی محیط ویندوز میتونید از این آموزش استفاده کنید:
http://barnamenevis.org/showthread.php?t=210549

امیدوارم همیشه اصولی و بهینه و به صرفه فکر کنید.

eletcomp
سه شنبه 24 دی 1392, 22:15 عصر
عضی هاش از نظرهای دوستان درسته ولی بعضی هاش کاملا اشتباهه
FormBorderStyle را none باید بذاری و برای خودت یه نوار(titlebar) عنوان درست کنی از کامپوننت هم استفاده کنی باز هم نمیشه
چون titleebar جایگزین قبلی میشه و چارهای نداری
در مواقعی که از تایتلبار فرمت خوشت نیاد
درست شاید فکر کنی که من از تایتلبار فرمم خوشم نمیاد برای همین میخوام عوض کنم
ممنون دوست عزیز: ولی خیلی پیچیده اش کردی ها!! من که چیزی از گفته های شما متوجه نشدم!! منظورم شما چی هست!؟ لطفا ساده ترین روش ولی عملی بدون کدنویسی را بگید!!
من الان formborderstyle را none کردم و بعدش windowstate را max کردم!! تا اینجا مشکلی که نبود!!
سپاس

xxnagin
سه شنبه 24 دی 1392, 22:32 عصر
الان این عکسی که گذاشتی (هر دو تا عکس)
این دقیقا معلومه close min که دو تا عکس یا دکمه هستش
یه پنل که عکس داخلشه و یه لیبل هم که عنوان برنامه داخلشه و دو تا دکمه close min
حالا usercontrol هم نذاشتی مهم نیست ولی یه عکس با اون دکمه های مورد نیاز بدون کد نویسی نمیشه
مثل این میمونه که یه دکمه روی فرم بذاری و براش کد ننویسی
پس به قول دوستمون وقتی چیزی از فرم یا برنام کم میکنی یه چیزی باید جاش رو باید پر کنه
پس قبل این همه سوال به جای کم کردن بعضی چیزهای مورد نیاز یه فکر اساسی و بهتر کن
شما چه نیازی داری که میخوای فرمت روی تسکبار باشه
زیر باشه مگه مشکلی داره
پس همیشه به خاطر زیبایی فرمت از نیاز هات کم نکن

Ahmad Chehreghani
سه شنبه 24 دی 1392, 23:08 عصر
برای جواب سوال اول این قطعه کد رو در Form Load بنویسید:

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height;
this.Top = 0;
this.Left = 0;

sagggad
سه شنبه 24 دی 1392, 23:11 عصر
دوستان الان ایشون برای این موضوع مشکلی ندارن که؟؟
چرا انقدر موضوع رو پیچیده میکنید؟؟
ضمنا شما هم که میگید:"چه نیازی هست در روی تسک بار نشون داده بشه؟"
خیلی از جاها این موضوع لازم میشه و باعث قشنگی کار هم هست
مثل خیلی از بازی ها...
ضمنا به نظر من گرافیک برنامه مهمه اما باید موقعیت رو بسنجی:
یعنی اگر دیدی مشتری براش گرافیک و زیبایی برنامه خیلی اهمیت داره که فبـــــــها(براش گرافیکی طراحی میکنی)
اما اگر دیدی زیاد اهمیت نداشت هیچ وقت زیاد برای گرافیک وقت نذار بیشتر کاربرد برنامه مهمه
موفق باشید

eletcomp
سه شنبه 24 دی 1392, 23:26 عصر
ممنون از همه ی دوستان عزیز: لطفا موضوع را پیچیده نکنید!! من یک چیز ساده میخوام که کارم را راه بندازه!! در حد دانشجویی! نه مشتری و....
سپاس

sagggad
سه شنبه 24 دی 1392, 23:28 عصر
میخوای گرافیکش در چه حدی باشه؟؟
البته اگه گرافیک خیلی خیلی مهم نیست بیخیالش بشو
زیاد وقتت رو میگیره (البته اگر بری سراغ WPF و اینا که نه ولی کامپوننت ها باعث اذیت و سختی هستن بیشتر)

maythamahmadi
سه شنبه 24 دی 1392, 23:30 عصر
برای کارای گرافیکی تلریک رو پیشنهاد میکنم.

sagggad
سه شنبه 24 دی 1392, 23:33 عصر
من که اصلا استفاده از کامپوننت های آماده رو به دلایلی که بالاتر گفتم خوب نمیدونم

maythamahmadi
سه شنبه 24 دی 1392, 23:35 عصر
همه که مثل هم نیستن.من از تلریک برای خیلی از پروژه ها استفاده کردم.مشکلی هم نداشتم.البته باز بستگی به نظر خودتون داره

sagggad
سه شنبه 24 دی 1392, 23:36 عصر
همه که مثل هم نیستن.من از تلریک برای خیلی از پروژه ها استفاده کردم.مشکلی هم نداشتم.البته باز بستگی به نظر خودتون داره
شما تا به حال اون پروژه ها رو به صورت گرافیکی بر روی سیستم مشتری نصب کردید؟

maythamahmadi
سه شنبه 24 دی 1392, 23:38 عصر
بله. یادمه چند مدت پیش بود برای ایران خودرو نوشتم.از تلریک استفاده کرده بودم.مشکلی هم پیش نیومده تا حالا.

sagggad
سه شنبه 24 دی 1392, 23:42 عصر
شاید شما درست بگی اما من از کامپوننت آماده خاطره خوشی ندارم

eletcomp
سه شنبه 24 دی 1392, 23:44 عصر
دوست عزیز:این تلریک که میگی!!چطوری هاست!! مثل dev ex می مونه؟؟ لطفا لینک دانلود و اگر اموزش نصب هم داره لطفا کن معرفی کن!! شاید به درد خورد!
سپاس

sagggad
سه شنبه 24 دی 1392, 23:45 عصر
آره تو همون مایه است تو گوگل سرچ کن لینک دانلودش در بیش از 2000 سایت هست:لبخندساده:

eletcomp
چهارشنبه 25 دی 1392, 11:19 صبح
ممنون: من تلریک را نصب کردم ولی نمی دانم ایا همان هست یا نه!؟ همین پایینی هست؟؟
http://www.daneshjooyar.com/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-telerik-winforms-2012/
در ضمن چیز خاصی هم نداشت!! در کل فکر کنم کامپوننت dev بهتر باشه؟؟
سپاس

sagggad
چهارشنبه 25 دی 1392, 12:25 عصر
بله درسته...