PDA

View Full Version : سوال: Text Changed Eventبرای User Control



mrsalam
جمعه 24 اردیبهشت 1389, 07:05 صبح
سلام
من یک یوزر کنترول درست کردم و در اون یک Text Box دارم.
حالا می خوام که با سایر قسمتهای برنامه ارتباط مستقیم داشته باشه یعنی هنگامی که محتوای ان text Box تغییر کرد، هم زمان عملیات مناسب در برنامه اصلی انحام شود.
بنابراین چطوری میشه event TextChanged را به User Control اضافه کرد(Click را اضافه کردم ولی اونو نتونستم)؟

Editali
شنبه 25 اردیبهشت 1389, 18:37 عصر
اول textbox رو public کن. وقتی که تو فرم اصلی گذاشتیش به این صورت event رو اضافه کن



usercontrol1.textBox1.TextChanged += new EventHandler(textBox1_TextChanged);



این متد رو هم اضافه میکنی:

void textBox1_TextChanged(object sender, EventArgs e)
{
کدها رو اینجا بنویس
}

به روابط کدهایی که نوشتم دقت کن تا قضیه برای روشن بشه.

mrsalam
سه شنبه 28 اردیبهشت 1389, 08:58 صبح
مرسی دوست من کارم راه افتاد ولی
وقتی محیط design مربوط به فرم رو باز میکنم با خطای زیر مواجه میشم:

Events cannot be set on the object passed to the event binding service because a site associated with the object could not be located.

wolf_majid
سه شنبه 28 اردیبهشت 1389, 09:23 صبح
private void button1_Click(object sender, EventArgs e)
{

userControl11.Controls["myTextBox1"].TextChanged += new System.EventHandler(test );
}


private void test(object sender, EventArgs e)
{
Random rnd = new Random();
userControl11.Controls["label1"].ForeColor = Color.FromArgb(rnd.Next(0, 255));
}

دقت کن این کد ها باید خارج از usercontrol نوشته بشند

mrsalam
سه شنبه 28 اردیبهشت 1389, 10:17 صبح
اخوی چرا توی Click نوشتی ؟
فقط می خوام هنگامی که Event مربوط به text_Changed اتفاق بیفته یک متد صدا زده بشه

wolf_majid
سه شنبه 28 اردیبهشت 1389, 10:53 صبح
اخوی چرا توی Click نوشتی ؟
فقط می خوام هنگامی که Event مربوط به text_Changed اتفاق بیفته یک متد صدا زده بشه

دوست خوبم این فقط یک مثال بود

private void Form1_Activated(object sender, EventArgs e)
{
userControl11.Controls["myTextBox1"].TextChanged += new System.EventHandler(test);
}

شما هرجایی که دوست داشتی می تونی رویدادی به کنترلت اضافه کنی و با هر کدی که دوست داشتی

موفق باشی