PDA

View Full Version : سوال: توقف Event Handler



alisalari1981
پنج شنبه 19 بهمن 1391, 14:26 عصر
سلام ، در رویداد کلیک یک باتن کدها اجرا میشوند ، تا جایی که شرطی بررسی میگردد ، میخوام در صورت برقراری شرط ، بقیه ی کدهای این هندلر اجرا نشه ! این هندلرو چطور نیمه کاره استاپش کنم ؟
ممنونم .

ma.rad
پنج شنبه 19 بهمن 1391, 14:49 عصر
به عنوان مثال برای یه حلقه:

for (int i = 0; i < 1000; i++)
{
if (i == 200)
break;
else
//بقیه دستورات
}

alisalari1981
پنج شنبه 19 بهمن 1391, 15:02 عصر
به عنوان مثال برای یه حلقه: ...


ممنونم ، اما نه عزیزم ، توقف حلقه نه ، خروج از وسط Event Handler ، من در سوال بالا عرض کردم میخوام از وسط ButtonClick دیگه ادامه کدها اجرا نشه !!!

ma.rad
پنج شنبه 19 بهمن 1391, 15:11 عصر
مشکل اینجاست شما نگفتید دقیقا می خواید چه کار کنید، این شرط چیه؟
میشه کدتو بزاری

RED-C0DE
پنج شنبه 19 بهمن 1391, 15:13 عصر
می تونی از هر نقطه در اون هندلر return کنی.

private void btnSave_Click (object sender , EventArgs e)
{
// ...
if(a==2)
return;
// ...
}

alisalari1981
پنج شنبه 19 بهمن 1391, 15:16 عصر
مشکل اینجاست شما نگفتید دقیقا می خواید چه کار کنید، این شرط چیه؟
میشه کدتو بزاری

پست اول کاملا" واضح هست ، شرطش هم مهم نیست ، مثلا" اگه a==b ، بازم عرض میکنم ، توی هندلر کلیک یک باتن مثلا" 10 خط کد هست ، تو خط 5 شرط بررسی میشه و اگه true شد دیگه هندلر ادامه پیدا نکنه !

alisalari1981
پنج شنبه 19 بهمن 1391, 15:19 عصر
می تونی از هر نقطه در اون هندلر return کنی...

زنده باد ...

ma.rad
پنج شنبه 19 بهمن 1391, 15:22 عصر
می تونی از هر نقطه در اون هندلر return کنی.

private void btnSave_Click (object sender , EventArgs e)
{
// ...
if(a==2)
return;
// ...
}


همین که دوستمون گفتن درسته

mostafa.hnz
پنج شنبه 19 بهمن 1391, 15:25 عصر
سلام
برای اینکه یه event رو از یه کنترل حذف کنید باید اینجوری بنویسید

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
TextBox1.TextChanged -= new EventHandler(TextBox1_TextChanged);
}

حالا از این نمونه هر جا که خواستی می تونی استفاده کنی