Text Changed Eventبرای User Control
سلام
من یک یوزر کنترول درست کردم و در اون یک Text Box دارم.
حالا می خوام که با سایر قسمتهای برنامه ارتباط مستقیم داشته باشه یعنی هنگامی که محتوای ان text Box تغییر کرد، هم زمان عملیات مناسب در برنامه اصلی انحام شود.
بنابراین چطوری میشه event TextChanged را به User Control اضافه کرد(Click را اضافه کردم ولی اونو نتونستم)؟
نقل قول: Text Changed Eventبرای User Control
اول textbox رو public کن. وقتی که تو فرم اصلی گذاشتیش به این صورت event رو اضافه کن
usercontrol1.textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
این متد رو هم اضافه میکنی:
void textBox1_TextChanged(object sender, EventArgs e)
{
کدها رو اینجا بنویس
}
به روابط کدهایی که نوشتم دقت کن تا قضیه برای روشن بشه.
نقل قول: Text Changed Eventبرای User Control
مرسی دوست من کارم راه افتاد ولی
وقتی محیط 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.
نقل قول: Text Changed Eventبرای User Control
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 نوشته بشند
نقل قول: Text Changed Eventبرای User Control
اخوی چرا توی Click نوشتی ؟
فقط می خوام هنگامی که Event مربوط به text_Changed اتفاق بیفته یک متد صدا زده بشه
نقل قول: Text Changed Eventبرای User Control
نقل قول:
نوشته شده توسط
mrsalam
اخوی چرا توی Click نوشتی ؟
فقط می خوام هنگامی که Event مربوط به text_Changed اتفاق بیفته یک متد صدا زده بشه
دوست خوبم این فقط یک مثال بود
private void Form1_Activated(object sender, EventArgs e)
{
userControl11.Controls["myTextBox1"].TextChanged += new System.EventHandler(test);
}
شما هرجایی که دوست داشتی می تونی رویدادی به کنترلت اضافه کنی و با هر کدی که دوست داشتی
موفق باشی