سلام :
فرق این 3 تعریف شی در چیست ؟ میشه دقیق توضیح بدین
textbox ObjTextBox = new textbox ()
textbox ObjTextbox
textbox ObjTextbox= (textbox) this.activecontrol
Printable View
سلام :
فرق این 3 تعریف شی در چیست ؟ میشه دقیق توضیح بدین
textbox ObjTextBox = new textbox ()
textbox ObjTextbox
textbox ObjTextbox= (textbox) this.activecontrol
خوب اولی یه متغیر از نوع TextBox تبدیل می کنه و یک نوع داده ای Text باش توش می ریزه
دومیم همین کارو می کنه ولی توی متغیر چیزی نمی ریزی و null هست
سومی هم همین با این تفاوت که توش کنترل فعال فرم رو می ریزه
(textbox) هم برای تبدیل کردن یک شی یه TextBox ازش استفاده شده
دوست عزیز تعریف سوم شما کلیت نداره یعنی تعریف سوم یه شی از نوع کنترل رو تبدیل به تکس باکس می کنه و اگه رو فرم یه کنترل به غیر از تکس باکس فعال باشه اون قابل تبدیل به تکس باکس نبوده و برنامه error میده
بای
دوست عزیز چندتا سوال دارم :
1- چطور active control تعیین میشه ؟
2-اگر قرار باشه active control تکس باکس باشه دیگه چرا type cast می کنیم ؟
3- میشه بگید چه موقع باید به یک شی مقدار اولیه داد .مثلا وقتی می نویسم :
form1 Objform1
objform1.showdialog(); خطا دیده میشه. ولی
form1 Objform1= new form1();
Objform1.showdialog();
خطا نمی ده !!
با تشکر.
هر جا که مکان نما قرار داشته باشه، اون کنترل به عنوان اکتیو ست میشهنقل قول:
- چطور active control تعیین میشه ؟
خاصیت ActiveControl از نوع Control هستش که درواقع تمامی کنترلها از اون ارث بری کرده اند. اما کنترلهای مختلف، خاصیت ها و متدهای متفاوتی دارند. لذا این تبدیل نوع لازم هستشنقل قول:
اگر قرار باشه active control تکس باکس باشه دیگه چرا type cast می کنیم ؟
دوست عزیز هر جا بخوای از متغیری استفاده کنی، باید قبلش اونو مقداردهی کرده باشی، در غیر این صورت برنامه با خطا مواجه میشه. منظور از استفاده، assignment نیستنقل قول:
میشه بگید چه موقع باید به یک شی مقدار اولیه داد .مثلا وقتی می نویسم :
تو این تعریف تو یه شیء جدید از نوع TextBox میسازی. یعنی یه تکست باکسی میسازی که از قبل وجود نداشته.
تو این تعریف یه متغیر میسازی که این قابلیت رو داره که به یه تکست باکسی که قبلا ساخته شده اشاره کنه ولی در حال حاظر مقدارش null هست. یعنی به هیچی اشاره نمیکنه.
تو این تعریف هم مثل تعریف 2 یه متغیر ساخته میشه که میتونه به یه TextBox اشاره کنه و همون طوری که دوستمون توضیح داد کنترل فعلی اگر تکست باکس باشه متغیر ما به همین کنترل اشاره میکنه (تکست باکس جدیدی ساخت نمیشه) ولی اگه کلا متغیر انتخاب شده در فرم TextBox نباشه که هیچی Throw Exeption رخ میده!