PDA

View Full Version : سوال: چگونگی ایجاد یک event در یک کلاس



mhs377
یک شنبه 10 مرداد 1389, 15:49 عصر
با سلام
من یک کلاس از یک تکست باکس سفارشی شده دارم(فقط کلاس هست نه آبجکت) که میخام ایونتهای مربوط به کلیک رو برای اون پیاده سازی کنم
مثلا اگر رو تکست باکس کلیک شد، زبان برنامه، فونت (یا هر چیز دیگه ای) عوض بشه و یا بتونم یک متد رو فراخوانی کنم
میدونم که میتونم این رو بعد از ساختن آبجکت انجام بدم ولی اگر فقط یک کلاس داشته باشم چطور میشه چنین کاری کرد؟
اگر کسی اطلاعاتی در این باره داره لطفا کمک کنه
با تشکر

taghvajou
یک شنبه 10 مرداد 1389, 16:04 عصر
سلام به همه
اول یه نمونه هندلر اون رویداد رو بساز بعد استفاده کن.
یعنی تو فرم لود بنویس:


GotFocus += new RoutedEventHandler(textBox1_GotFocus);
تکس باکس فوکوس میگیره نه اینکه کلیک بشه!
خوب حالا متد این رویداد رو بنویس یعنی:


private void textBox1_GotFocus(object sender, RoutedEventArgs e)
{
کارهایی که میخوای رو تو این بنویس!
}
امیدوارم که مفید باشه

mhs377
یک شنبه 10 مرداد 1389, 16:21 عصر
متوجه منظورتون نشدم

من فقط یه کلاس از یه تکست باکس دارم(یعنی میخام ایونت رو داخل کلاس بنویسم نه بعد از ساخت یه تکست باکس از این کلاس)
فکر کنم شما منظورتون آبجکت هست(textbox1)
متد رو باید توی کلاس نوشته بشه؟
میشه یه کم بیشتر توضیح بدید
متشکرم

taghvajou
یک شنبه 10 مرداد 1389, 16:35 عصر
بهتر اول من یه سوال بپرسم:
یعنی یه کلاس جدید نوشتین که در اثنای کارتون تو این کلاس، میخوای تغییر یافتن مقدار یه استرینگ بخصوصی رو بررسی کنین؟؟؟

Saeed.Masoumi
یک شنبه 10 مرداد 1389, 19:20 عصر
سلام
اینطوری:


class MyTextBox : System.Windows.Forms.TextBox
{
protected override void OnClick(EventArgs e)
{
System.Windows.Forms.MessageBox.Show("Clicked...");
base.OnClick(e);
}
}

mhs377
یک شنبه 10 مرداد 1389, 21:33 عصر
خیلی از راهنماییتون ممنونم
خیلی کمکم کرد