ضمن سلام
نکته ای که در برخی موارد از دید برنامه نویسان پنهان میمونه , دریافت اطلاعات از ورودی کنترل در حالت تایپ نمودن میباشد
عملیات خواندن اطلاعات از داخل Textbox دارای یک ابهام جزئی میباشد که در ادامه اقدام به توضیحی در این خصوص و با توجه به دو حالت متفاوت می نمایم
در هنگامی که فوکوس همچنان بر روی کنترل Textbox قرار دارد و کاربر در حال تایپ و تکمیل اطلاعات ورودی میباشد , در واقع از دید برنامه نویسی این اطلاعات در حکم اطلاعاتی تثبیت شده نیستند
از دید برنامه نویسی اطلاعات را به دو بخش جزئی تقسیم میکنیم
اطلاعات تایید شده و تثبیت شده و اطلاعات تثبیت نشده
در حالتی که کاربر در حال تایپ اطلاعات میباشد , در واقع اطلاعات به صورت تثبیت نشده بوده و شاید بتوان بدین گونه تفسیر نمود که از دید برنامه , همچنان اطلاعاتی جهت بررسی وجود ندارد
بر همین اساس و با همین تفسیر در صورتی که قبل از ورود اطلاعات در داخل Textbox اطلاعاتی موجود بوده باشد و کاربر اقدام به تاپی نمودن اطلاعاتی جدید نماید , تا قبل از تکمیل پروسه تثبت , از دید برنامه Textbox همچنان حاوی همان اطلاعات قبلی است
به دستورات زیر توجه نمایید :
کد:
Private Sub txtEntery_Change()
txtReflexA = txtEntery
txtReflexB = txtEntery.Text
End Sub
دستور txtReflexA = txtEntery اقدام به خواندن اطلاعات همزمان با تایپ نمودن آن نخواهد نمود , چرا که در حال حاضر اطلاعات به صورت تثبیت شده نیستند و تنها قادر به باز گرداندن اطلاعاتی میباشد که از قبل به صورت تثبیت شده درآمده اند
ولیکن دستور txtReflexB = txtEntery.Text با توجه به استفاده از مشخصه Text قادر است همزمان با تایپ نمودن اطلاعات اقدام به خواندن اطلاعات نماید
توضیح : دو ذستور زیر معادل یکدیگر میباشند :
txtEntery.Value
txtEntery
جهت درک نمودن بهتر موضوع به مثال موجود توجه نمایید
در ابتدا اقدام به درج یک متن نموده و سپس مجدداً اقدام به تغییر همان متن نموده و نتیجه را ملاحظه فرمایید
موفق باشید