PDA

View Full Version : سوال: جلوگیری از اجرای رویداد TextChanged



mc_laren
پنج شنبه 27 آبان 1389, 20:57 عصر
با سلام
من درون رویداد TextChanghed یکی از تکس باکس های فرمم کدی رو نوشتم حالا وقتی فرم رو نمایش می دم خودکار اون کد اجرا میشه
آیا راهی نیست تا جلوی اینکار رو گرفت؟

navid_8x
پنج شنبه 27 آبان 1389, 22:25 عصر
2 تا راه من بلدم.
اولی اینه که یک متغیر بولین تعریف کنی و با دادن مقدار مناسب به اون و کنترل رویداد Textchanged به وسیله دستور if ( کل برنامت توی رویداد رو توی یک if قرار بده که شرطش درست بودن متغیر باشه) به نتیجه برسی.
راه دوم این هستش که به رویداد TextChanged بعد از لود شدن برنامه مقدار بدی.

ali_najari
پنج شنبه 27 آبان 1389, 22:54 عصر
با سلام
من درون رویداد TextChanghed یکی از تکس باکس های فرمم کدی رو نوشتم حالا وقتی فرم رو نمایش می دم خودکار اون کد اجرا میشه
آیا راهی نیست تا جلوی اینکار رو گرفت؟

دوست عزیز چون هنگام Load فرم مقدار پیشفرض در Textbox قرار میگیره این اتفاق میفته شما همانظور که گفتن میتونید هم if بزارید هم یه متغیر از نوع Boolean

به این ترتیب که شرط میزارید که اگر textbox خالی بود هیچ کدی اجرا نکنه ولی Boolean بهتره به این ترتیب که هنگام Load مقدارش رو False کن و زمانی که فرم Shown شد مقدارش رو True کن و توی TextChange اون شرط بزار که اگر متغیرت True بود کدت رو اجرا کنه

mc_laren
جمعه 28 آبان 1389, 08:40 صبح
ممنون از جواب هایی که دادین این راه ها رو بلدم ولی نمی خوام تعداد کد های برنامه زیاد بشه چون تنها یک تکس باکس و یک فرم نیست

Felony
جمعه 28 آبان 1389, 09:36 صبح
میتونید موقع اجرا شدن برنامه رویداد رو به صورت زیر غیر فعال کنید :

textBox1.TextChanged -= textBox1_TextChanged;

و در یک جای مناسب دوباره فعالش کنید :

textBox1.TextChanged += textBox1_TextChanged;