ورود

View Full Version : دسترسی sender به شی ایجاد شده



angoori
شنبه 21 دی 1392, 10:53 صبح
با سلام
چطوری میشه به رویداد کلیک چپ موس در یک شی دسترسی داشت.
من اون شی رو داخل یه canvas یا مشابه اون ایجاد میکنم ولی وقتی روی اون شکل که از نوع کلاسی هست که خودمون تعریف کردیم کلیک میکنم اتفاقی نمیوفته !
مشکل از کجاست؟
C_Rectangle obj;

obj = new C_Rectangle();
obj.MouseDown += new MouseButtonEventHandler(obj_MouseDown);


void obj_MouseDown(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("Name: " + e.Source.ToString());
}

m.bibjan
شنبه 21 دی 1392, 12:59 عصر
سلام ببینید شما میتونید مثلا در یک باتن به قسمت رویداد های اون برید و رویداد mouseleftbuttondown رو دو بار کلیک کنید و کدتون رو اونجا بگذارین

angoori
شنبه 21 دی 1392, 13:31 عصر
سلام ببینید شما میتونید مثلا در یک باتن به قسمت رویداد های اون برید و رویداد mouseleftbuttondown رو دو بار کلیک کنید و کدتون رو اونجا بگذارین
سلام به شما
من میخوام شکل وقتی روی یه صفحه مثلا canvas ایجاد شد با کلیک بر روی اون شکل بتونه تشخیص بده که که شکل مورد نظر کلیک شده تا بشه بعدا ازش استفاده کرد ( مثلا تغییر محل شکل )

m.bibjan
شنبه 21 دی 1392, 13:39 عصر
خب یک if بگذارین توی رویداد کلیک چپ موس که اگه اون شی کلیک شد مثلا برو به مختصات دیگه ایی از فرم
تشخیص دادنش رو هم با دستور شرط راه میوفته

angoori
شنبه 21 دی 1392, 17:01 عصر
مسئله اینجاست که sender شی مربوطه نمیاد بلکهsender اون canvasi که تو پس زمینه هست فرستاده میشه و نمیشه شی رو تشخیص داد.
تو محیط بدون پس زمینه کار میکنه ولی بر روی canvas نه!؟