PDA

View Full Version : سوال: چگونه با فشردن دکمه ای به TextBox فعال متنی اضافه کنیم؟



FVVSBN
چهارشنبه 12 اسفند 1388, 22:19 عصر
سلام.

من تازه کار با این زبان رو شروع کردم. و سوالات زیادی دارم که میخواستم بپرسم ولی متاسفانه توی قوانین ذکر شده که در هر تاپیک فقط یک سوال.

توضیحات:

من یک ماشین حساب کاملا ساده نوشتم، که دو تا textbox داره و چند تا دکمه جمع و ضرب و ... و 10 تا دکمه برای ارقام 0تا9 .

سوال:
میخوام با فشردن هر کدوم از ارقام، اون رقم به رشته داخل textbox فعال افزوده بشه. میدونم چطور به یه textbox اضافه بشه، ولی اینکه از کجا بفهمه که کدوم textbox فعاله رو نمیدونم.

توضیحات بیشتر:
برای نمونه این الگوریتمیه که باید با فشردن دکمه 6 طی بشه.

===>> 6 را به آخر رشته ای که داخل textbox فعال هست اضافه کن.
===========================

textbox فعال: منظورم textboxی هست که نشانگر در اون منتظر تایپ هست.


پیشاپیش سپاس.

hamidreza20
چهارشنبه 12 اسفند 1388, 22:42 عصر
سلام دوست عزیز

خیلی ساده برای هر دکمه ارقام کد زیر رو اضافه کن.



textbox1.text+='9';


مثلا در کد ذکر شده فوق اگر دکمه که عنوانش 9 اس رو کلیک کنی اون رو به آخر تکست باکس اصلی اضافه می کنه برای همه ارقام صفر تا 9 این رو بنویش و جای عدد رو عوض کن البته توی رو رویداد ONClick دکمه ( روی دکمه دوبار کلیک کنی خودش ایجاد میشه )

البته باید یاد آوری کرد برای ماشی حساب باید شرایط دیگری رو در نظر بگیری مثلا کلید backspace یا زمانی که دکمه جمع زده شد تکست باکس صفر بشه و عدد قبلی جایی ذخیره بشه و ...

البته با کمی جستجو توی همین سایت می تونی کدهایی رو که دوستان در این زمینه نوشتن رو پیدا کنی ....

التماس دعا...

SMRAH1
چهارشنبه 12 اسفند 1388, 23:03 عصر
سلام
نمیشه! چرا؟
چون وقتی کاربر روی یک کلید شماره ،کلیک می کنه،قبل از ایجاد رویداد مناسب،focus از textbox گرفته شده و به دکمه انتقال پیدا میکنه،پس دیگه TextBox فعال نیست!
راه حل :
1) صورت مسئله رو اینطوری عوض کن : در صورت کلیک دکمه،شماره به آخرین TextBox که فعال بوده اضافه کن.در این راه حل باید برای رویداد Leave هر TextBox یک کد بنویسی تا پس از از دست دادن فوکوس،مشخص کنه که این TextBox از فعال بودن خارج شده (در نتیجه همواره آخرین TextBox فعال رو خواهی شناخت).
2) به جای دکمه برای شماره ها،از Lable استفاده کن که کاربر با کلیک روی آن،به TextBox فعال ،شماره رو اضافه کنه.چون کنترل Lable،فوکوس نمی گیره،پس TextBox همواره دارای کنترل است (فوکوس دارد).در این حالت برای شناخت TextBox فعال ،می تونی از خصوصیت Focused اون استفاده کنی.توجه کن که ممکن است هیچ کدام از TextBox های شما فوکوس نداشته باشد!پس کدت باید آماده برخورد با این مشکل باشه.
موفق باشی