PDA

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



Royce_Da
پنج شنبه 01 مرداد 1388, 11:49 صبح
با سلام

1- چگونه میتوانم برای رویداد onclick یک Button که خودم با کدنویسی ایجاد کردم کد بنویسم ؟

2- اگر ارایه ای از Button باشد چه طور؟




با تشکر :قلب:

hozouri
پنج شنبه 01 مرداد 1388, 12:33 عصر
دوست عزیز اگر منظور شما ایجاد رویداد هاست که یه delegate تعریف کنید و یک رویداد از نوع همان delgate و هر جا خواستید اون مند رو فراخونی کنید ...



delegate Click();
event Click onClick;
//-------------------------

onClick();

mohkami
پنج شنبه 01 مرداد 1388, 13: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, 13:30 عصر
دوست عزیز اگر منظور شما ایجاد رویداد هاست که یه delegate تعریف کنید و یک رویداد از نوع همان delgate و هر جا خواستید اون مند رو فراخونی کنید ...



delegate Click();
event Click onClick;
//-------------------------

onClick();


میشه کمی کامل تر توضیح بدید؟ :متفکر::متفکر::متفکر:

Royce_Da
یک شنبه 04 مرداد 1388, 13: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 داشته باشم باید از قبل برای همشون کد بنویسم ؟