PDA

View Full Version : سوال: فعال شدن رویداد MouseEnter یک فرم حتی با رفتن روی کنترل های آن



EhsanTC
سه شنبه 11 فروردین 1388, 00:04 صبح
سلام به دوستان

من می خواهم در یک فرم که دارای تعداد زیادی کنترل است حتی با رفتن روی کنترل های آن رویداد
MouseEnter آن فراخوانی شود.چه طور می شه این کار را انجام داد؟
چون در حالت معمولی حتما باید در فضای خالی فرم وارد شد تا این رویداد فعال بشه

با تشکر

lajevardi106
سه شنبه 11 فروردین 1388, 09:19 صبح
سلام به دوست عزیزم
اگر رویداد MousEnter را نیز داشته باشید(که حتما دارید و در آن کدهایی قرار داده اید) میتوانید با قرار دادن کد زیر در رویداد MouseMove کنترل مورد نظر، رویداد MousEnter را فراخوانی کنید.
مثال :
Button1_MouseEnter(Sender, e )

hamid_200611
سه شنبه 11 فروردین 1388, 12:07 عصر
دوست عزیز همه کنترل ها را انتخاب کن و در رویداد
MouseHover بنویس:
button1.MouseEnter +=

و دوبار Tab رو بزن

EhsanTC
پنج شنبه 13 فروردین 1388, 10:16 صبح
سلام
من راه حل دیگری به فکرم رسید و آن که برای تمام کنترل های فرم و خودش یک رویداد تعریف کنم به شکل زیر:

private void OnMouseMove(object sender, MouseEventArgs e)
{
if (sender.Equals(this))
{
if ( e.X < this.Width && e.Y < this.Height )
Text = "Mouse entered";
else
Text = "Mouse exited";
}
{





}

اما متاسفانه هنگامی که از فرم خارج می شم عکس العملی انجام نمی شه .فکر می کنید مشکل کجاست؟

با تشکر