View Full Version : DesignMode property
eshpilen
سه شنبه 26 بهمن 1389, 10:06 صبح
میگم این پراپرتی DesignMode که کنترل ها دارن دقیقا کاربردش چیه؟ و مگه موقع طراحی هم دات نت کدهای برنامه رو اجرا میکنه؟
محسن شامحمدی
سه شنبه 26 بهمن 1389, 11:38 صبح
میگم این پراپرتی DesignMode که کنترل ها دارن دقیقا کاربردش چیه؟
این حالت بیشتر به درد طراحی یوزرکنترل ها می خوره.
برای درک بیشتر کاربرد این خصوصیت این پروژه رو ببینید.
و مگه موقع طراحی هم دات نت کدهای برنامه رو اجرا میکنه؟
وقتی شما یک یوزرکنترل می سازید و کامپایلش می کنید دیگه اون یک یوزرکنترله که کدهاش اجرا می شن.(البته نه همه کدهاش)
mehdi.mousavi
سه شنبه 26 بهمن 1389, 11:48 صبح
سلام.
از دیدگاه کلی، هر Component ای میتونه در یکی از دو Mode زیر باشه:
Runtime Mode
Design-Time Mode
وقتی Component مورد نظر رو شما روی Form Designer در (بطور مثال) Visual Studio قرار میدید تا فرم خودتون رو طراحی کنید، DesignMode Property برابر true هستش. این خصیصه به برنامه نویسها این امکان رو میده تا Component اشون در Design-Time عملکرد متفاوتی نسبت در Runtime داشته باشه. بطور مثال، فرض کنید شما Component ای برای نمایش Histogram ها دارید. از اونجاییکه اطلاعاتی برای نمایش در Design-Time وجود نداره، شما می تونید با استفاده از این Property متوجه بشید که Component شما در Design-Time اجرا شده و سپس، اطلاعات Random ای رو برای نمایش Histogram خودتون تولید کنید...
بطور کلی، ما میگیم یک Component در مود Design-Time هستش وقتی که Site شده باشه. یعنی چی؟ یعنی اون Component در Container ای قرار بگیره (که یکی از اون Container ها، همون Form Designer در IDE ی Visual Studio هستش) که ISite رو پیاده سازی کرده و تواما در حالت Design-Time هم باشه.
موفق باشید.
eshpilen
سه شنبه 26 بهمن 1389, 21:22 عصر
09111111111 جان این فایل ضمیمه (WindowsApplication8.rar) که گذاشتی ویژوال استودیو 2010 باهاش مشکل داره. تبدیل میکنه اما ظاهرا بازم نمیتونه بخونه و Unload میشه.
محسن شامحمدی
جمعه 29 بهمن 1389, 10:34 صبح
09111111111 جان این فایل ضمیمه (WindowsApplication8.rar) که گذاشتی ویژوال استودیو 2010 باهاش مشکل داره. تبدیل میکنه اما ظاهرا بازم نمیتونه بخونه و Unload میشه.
وقت نصب vs شما vb.net رو هم نصب کردید؟؟؟؟
اگر جواب مثبته شما می تونی یک پروژه وی بی خالی بسازی و بعد روی project explorer راست کلیک کنی و گزینه add existing item رو بزنی. و فرم و کنترل منو اضافه کنی.
eshpilen
جمعه 29 بهمن 1389, 19:10 عصر
نه VB نصب نکردم.
محسن شامحمدی
جمعه 29 بهمن 1389, 20:54 عصر
عیب نداره یکی با سی شارپ درست کردم ببینیدش
eshpilen
سه شنبه 03 اسفند 1389, 01:50 صبح
دستت درد نکنه جالب بود.
بجای this.DesignMode داخل شرط، false گذاشتم و بعدش کنترل شما در محیط دیزاین هم ترسیم گرافیک اجرا میکرد.
میگم پس کنترل ها ظاهرا در همون محیط دیزاین هم درحال اجرا هستن یا فقط یه بخشی از اونا که مربوط به ترسیم ظاهرشون میشه اجرا میشه؟
یعنی مثلا اگر یه کنترلی یه فایلی هم ایجاد میکنه، موقع گذاشتن اون کنترل روی فرم اون فایل ایجاد میشه؟
محسن شامحمدی
سه شنبه 03 اسفند 1389, 17:34 عصر
میگم پس کنترل ها ظاهرا در همون محیط دیزاین هم درحال اجرا هستن یا فقط یه بخشی از اونا که مربوط به ترسیم ظاهرشون میشه اجرا میشه؟مگه سی شارپ می فهمه کدوم کد مربوط به گرافیک صفحه ست و کدوم نه؟؟؟
اگر یه کنترلی یه فایلی هم ایجاد میکنه، موقع گذاشتن اون کنترل روی فرم اون فایل ایجاد میشه؟ سوال جالبیه.
امتحانش می کنیم:
نتیجه جالبه
توی محیط طراحی، تایمر یوزرکنترل همراه با تمام کدهاش اجرا شد. حتی فایل هم ساخت.
eshpilen
سه شنبه 03 اسفند 1389, 19:45 عصر
مگه سی شارپ می فهمه کدوم کد مربوط به گرافیک صفحه ست و کدوم نه؟؟؟
همچین سخت هم نباید باشه. مگه تایمر خودت از داخل متد Paint کنترل استارت نمیشه؟
البته فعلا که معلوم شد کلا کنترل رو اجرا میکنه.
کلا متدهای ctor و Paint اجرا میشن. و شاید این تمامش باشه.
rouzbeh_ziafati
پنج شنبه 14 دی 1391, 15:06 عصر
این تشخص اجرا موقع طراحی یا اجرا فقط در مواقعی که یک کنترل را خودمان درست می کنیم کاربرد داره؟
میشه یه مثال بزنید که این خصوصیت designmode وقتی که در حالت طراحی هستیم اجرا بشه ؟ البته در vb.net
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.