PDA

View Full Version : override کردن رویداد یک کنترل



niloo17
دوشنبه 03 آبان 1389, 20:22 عصر
سلام دوستان
چه جوری می شه رویداد یک کنترل را override کرد (مثلا رویداد keypress کنترل gridview)

mahdi87_gh
دوشنبه 03 آبان 1389, 20:43 عصر
چرا میخواید یه همچین کاری بکنید؟
هدفتون رو بگین تا راه منطقی تری رو پیدا کنیم

niloo17
دوشنبه 03 آبان 1389, 21:02 عصر
می خوام در یک سلول گراید با زدن دکمه اینتر یه فرم جدید باز بشه .. به طور پیش فرض با زدن اینتر به سلول پایینی می ره
ممنون می شم اگه راهنماییم کنید

mahdi87_gh
دوشنبه 03 آبان 1389, 21:05 عصر
توی رویداد key_Down مربوط به گرید فرمتون رو باز کنید و بعدش دستور e.Handheld=true; رو استفاده کنید

niloo17
دوشنبه 03 آبان 1389, 21:16 عصر
نه نمی شه اخه خود گراید واسه دکمه اینتر تعریف شده این کد پیدا کردم ولی نمی دونم چه جوری استفاده کنم


protected override void OnKeyUp(KeyEventArgs e)
{
int currentRow = 0;
int indexColumn = 0;
int Index;
if (e.KeyCode == Keys.Enter)
if (RowCount > 0)
{
Index = this.CurrentCell.RowIndex;
indexColumn = this.CurrentCell.ColumnIndex;
if (Index < RowCount - 1)
currentRow = Index - 1;
else
currentRow = Index ;
if (indexColumn < this.ColumnCount - 1)
indexColumn += 1;
if (currentRow >= 0)
this.CurrentCell = this.Rows[currentRow].Cells[indexColumn];
}
base.OnKeyUp(e);
}

mahdi87_gh
دوشنبه 03 آبان 1389, 21:27 عصر
چرا نمیشه!!!
اینم برنامش

niloo17
دوشنبه 03 آبان 1389, 21:37 عصر
ممنون ولی این که کار نمی کنه
من می خوام وقتی توی یک سلول خاص دکمه اینتر را زدم فرم جدید باز بشه

mahdi87_gh
دوشنبه 03 آبان 1389, 21:48 عصر
کار میکنه ولی برای همه سلول ها!!!
برای کار شما، درون شرط currentCell رو هم با دکمه اینتر باهم and کنید

niloo17
دوشنبه 03 آبان 1389, 22:21 عصر
نه اصلا این رویداد فراخوانی نمی شه :گریه:

hojjatshariffam
دوشنبه 03 آبان 1389, 22:46 عصر
حتما یه جای کارتون ایراد داره
جواب دوستمون کاملا درسته
شاید رویداد رو براش ست نکردین یا ...

mahdi87_gh
دوشنبه 03 آبان 1389, 22:49 عصر
برنامه ای که به شما دادم رو خودم تست کردم و کاملا کار میکنه!!!
برنامتون رو بزارین تا ببینیم مشکلش چیه:متفکر:

sara_traveler
دوشنبه 03 آبان 1389, 22:54 عصر
دوستان اگر بخوايم مثلا در يك سلول خاصf12رو كه زديم فرم ديگه باز بشه
بايد در چه رويدادي بنويسيم؟

niloo17
دوشنبه 03 آبان 1389, 22:56 عصر
نه ست شده .. این رویداد وقتی اجرا می شه که روی گراید اینتر بشه ولی وقتی توی یک سلول اینتر می کنیم این رویداد فراخوانی نمی شه

niloo17
دوشنبه 03 آبان 1389, 22:59 عصر
برنامه ای که به شما دادم رو خودم تست کردم و کاملا کار میکنه!!!
برنامتون رو بزارین تا ببینیم مشکلش چیه:متفکر:

کار می کنه ولی وقتی رو گراید اینتر می شه نه وقتی توی یک سلول اینتر می شه