PDA

View Full Version : انتخاب event مناسب



behzadk
جمعه 04 اردیبهشت 1388, 21:00 عصر
با سلام
من در datagridview خود vs یک چک باکسی گذاشتم که وقتی می خوام edit میکنه یه کاری انجام بده اما چند تا مشکل دارم
من اینو تو event cell value changed گذاشتم اما مشکل این در این مورد بود که اگه edit می کنه بعد از چند لحظه این event اجرا می شه و یا اصلا اجرا نمی شه
و در event after edit که خودش چند لحظه بعد از اون اجرا میشه
در کل من می خوام به محظ اینکه کاربر توی checkbox کلیک کرد و مقدارش رو عوض کرد اجرا بشه
با تشکر

hsmfaridmehr
جمعه 04 اردیبهشت 1388, 21:15 عصر
جواب از Mostafaaa با کمی تغییر



private bool HandlerAdded = false;
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (HandlerAdded == false)
{
e.Control.TextChanged += ECTextChanged;
HandlerAdded = true;
}
}
private void ECTextChanged(object sender, EventArgs e)
{
dataGridView1.CurrentRow.Cells["ChexkBox"].Value = true;
}

behzadk
جمعه 04 اردیبهشت 1388, 22:44 عصر
با تشکر از راهنمایی شما
اما من هیچ چی نفهمیدم میشه یه کم توضیح بدین

hsmfaridmehr
جمعه 04 اردیبهشت 1388, 23:23 عصر
خوب این یکی از ایونت های دیتاگرید که اسمش EditingControlShowing که وقتی یکی از Cell ها داره تغییر می کنه فایر میشه و توسط e.Control میتونی به کنترلی که کارش Edit کردن است برسی.خوب ماهم ایونت TextChange اون کنترل رو در EditingControlShowing بهش اضاف کردیم و از یک bool واسه ی اینکه فقط یکبار این اتفاق(اضافه کردن ایونت) بیوفته استفاده کردیم و در ایونت TextChange ستونی که CheckBox درون اون قرار داره رو بهش مقدار true دادیم که موجب checked شدنش بشه

hsmfaridmehr
جمعه 04 اردیبهشت 1388, 23:33 عصر
حالا که سوال رو با دقت می خونم بنظر میاد منظورتون رو اشتباه فهمیدم
البته متوجه هم نمیشم مشکلت رو. بهتر توضیح بده تا شاید بتونم جواب بدم چی کار می خوای بکنی؟

behzadk
شنبه 05 اردیبهشت 1388, 06:45 صبح
من می خوام به محظ اینکه مقدار سلول تغییر کرد یه کاری بکنه در رویداد change value همراه با تاخیر انجام میشه
با تشکر

hsmfaridmehr
شنبه 05 اردیبهشت 1388, 12:52 عصر
پس درست فهمیده بودم اون کاری که می خوای انجام بدی رو تو TextChange بنویس

behzadk
یک شنبه 06 اردیبهشت 1388, 07:08 صبح
باز هم از شما تشکر می کنم اما من با checkbox کار دارم نه با textbox در درون datagridview