PDA

View Full Version : مبتدی: انتخاب بین دو روش اعلان خاصیت برای دکمه ها



fidelio
دوشنبه 24 اسفند 1388, 14:37 عصر
سلام. امروز یک سری کد دیدم که برنامه نویس به جای ایجاد و مشخص کردن ویژگی های یک دکمه به صورت دستی، از کد استفاده کرده، نمونه:





this.btn0.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(0)), ((System.Byte)(0)), ((System.Byte)(192)));
this.btn0.Location = new System.Drawing.Point(48, 160);
this.btn0.Name = "btn0";
this.btn0.Size = new System.Drawing.Size(32, 32);
this.btn0.TabIndex = 5;
this.btn0.TabStop = false;
this.btn0.Text = "0";
this.btn0.Click += new System.EventHandler(this.btn0_Click);






بعد یک سئوال هم پیش آمد این که خط آخر اصولاً چه تفاوتی با نوشتن یک متد کلیک دارد؟ کلاً در رخداد ها خیلی ضعیفم اینو می دونم. کسی منبع کوتاه و موثری داره برای فهمیدن کلی رخداد ها تو این زمینه؟
ممنون!

alireza_s_84
دوشنبه 24 اسفند 1388, 15:21 عصر
سلام. امروز یک سری کد دیدم که برنامه نویس به جای ایجاد و مشخص کردن ویژگی های یک دکمه به صورت دستی، از کد استفاده کرده، نمونه:




this

.btn0.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(0)), ((System.Byte)(0)), ((System.Byte)(192)));
this.btn0.Location = new System.Drawing.Point(48, 160);
this.btn0.Name = "btn0";
this.btn0.Size = new System.Drawing.Size(32, 32);
this.btn0.TabIndex = 5;
this.btn0.TabStop = false;
this.btn0.Text = "0";
this.btn0.Click += new System.EventHandler(this.btn0_Click);









بعد یک سئوال هم پیش آمد این که خط آخر اصولاً چه تفاوتی با نوشتن یک متد کلیک دارد؟ کلاً در رخداد ها خیلی ضعیفم اینو می دونم. کسی منبع کوتاه و موثری داره برای فهمیدن کلی رخداد ها تو این زمینه؟
ممنون!

سلام دوست عزیز:
در مورد سوال اول باید بگم اگر شما نیاز دارید تا یک کنترل رو در حین اجرا اضافه کنید که خوب میتونید از این روش استفاده کنید اما اگر در زمان طراحی باشه کار بسیار اشتباهیه چون خود محیط ویؤوال برای شما اینکار رو بسیار بهتر انجام میده. در زمان اجرا هم اگر بعضی خصوصیات یک دکمه تغییر بکنه هم نیازی به کدنویسی نیست شما یک دکمه رو در حین اجرا با خصوصیاتش ست کنید بعد از خمون دکمه نمونه سازی کنید و نیازی به مقدار دهی تک به تک خصوصیات بصورت بالا نیست.
در مورد سوال دوم باید بگم این خط کد Syntax یا همون دستور زبان #C برای اتصال یک delegate به ایونت هست که شما برای فهم بیشتر میتونید کلمه event رو در MSDN سرچ کنید.
موفق باشید