View Full Version : سوال: نوشتن رویداد برای کنترلی که خود با کدنویسی ایجاد کرده ایم
Royce_Da
پنج شنبه 01 مرداد 1388, 12:49 عصر
با سلام
1- چگونه میتوانم برای رویداد onclick یک Button که خودم با کدنویسی ایجاد کردم کد بنویسم ؟
2- اگر ارایه ای از Button باشد چه طور؟
با تشکر :قلب:
hozouri
پنج شنبه 01 مرداد 1388, 13:33 عصر
دوست عزیز اگر منظور شما ایجاد رویداد هاست که یه delegate تعریف کنید و یک رویداد از نوع همان delgate و هر جا خواستید اون مند رو فراخونی کنید ...
delegate Click();
event Click onClick;
//-------------------------
onClick();
mohkami
پنج شنبه 01 مرداد 1388, 14:45 عصر
سلام،
این یک مثال برای سوال اولتون هست!قسمت هایی که Bold هستند رو خودتون باید بنویسین!
private void Form1_Load(object sender, EventArgs e)
{
Button button2 = new Button();
button2.Click += new System.EventHandler(button2_Click);
button2.Text = "Click Me!";
button2.Location = new Point(100, 100);
Controls.Add(button2);
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("button2 clicked");
}
این هم مثال برای آرایه!(سوال دومتون)
private void Form1_Load(object sender, EventArgs e)
{
Button[] button = new Button[10];
button[0] = new Button();
button[0].Click += new System.EventHandler(button0_Click);
button[0].Text = "Click Me!";
button[0].Location = new Point(100, 100);
Controls.Add(button[0]);
}
private void button0_Click(object sender, EventArgs e)
{
MessageBox.Show("button2 clicked");
}
توجه کنید که در این قسمت
private void button0_Click(object sender, EventArgs e)
نمیتونید از اندیسش استفاده کنید و بنویسید
private void button[0]_Click(object sender, EventArgs e)
به همین دلیل این خط هم باید اینگونه باشه در Form1_Load
button[0].Click += new System.EventHandler(button0_Click);
Royce_Da
یک شنبه 04 مرداد 1388, 14:30 عصر
دوست عزیز اگر منظور شما ایجاد رویداد هاست که یه delegate تعریف کنید و یک رویداد از نوع همان delgate و هر جا خواستید اون مند رو فراخونی کنید ...
delegate Click();
event Click onClick;
//-------------------------
onClick();
میشه کمی کامل تر توضیح بدید؟ :متفکر::متفکر::متفکر:
Royce_Da
یک شنبه 04 مرداد 1388, 14:35 عصر
سلام،
این هم مثال برای آرایه!(سوال دومتون)
private void Form1_Load(object sender, EventArgs e)
{
Button[] button = new Button[10];
button[0] = new Button();
button[0].Click += new System.EventHandler(button0_Click);
button[0].Text = "Click Me!";
button[0].Location = new Point(100, 100);
Controls.Add(button[0]);
}
private void button0_Click(object sender, EventArgs e)
{
MessageBox.Show("button2 clicked");
}
توجه کنید که در این قسمت
private void button0_Click(object sender, EventArgs e)
نمیتونید از اندیسش استفاده کنید و بنویسید
private void button[0]_Click(object sender, EventArgs e)
به همین دلیل این خط هم باید اینگونه باشه در Form1_Load
button[0].Click += new System.EventHandler(button0_Click);
جناب موحکمی یعنی اگر من یک آرایه 500 تایی از Button داشته باشم باید از قبل برای همشون کد بنویسم ؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.