سلام دوستان خسته نباشید
.
روشی که براتون میگم خیلی ساده و راحته ولی شما میتونید از بسیاری از روشها مثل آرایه ها و لیست ها استفاده کنید.
این روش از طریق نام کنترل ها خواستتونو برآورده میکنه.شاید بعدها بدردتون بخوره که کنترل هاتونو درست نام گذاری کنید.
به دو جدول های زیر دقت کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
جدول اول کنترل هایی هستن که رو فرم شما قرار دارند...
و جدول دوم شماره هایی هستن که ما لازم داریم و ته هر کنترل ذکر شده اند.
اول یه مثال میزنم:
فرض کنید فکوس ما رو کنترل textbox6 است:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شما اگه بخواهید به راست برید باید به 6 یکی اضافه کنید که بشه 7.
اگه بخواهید به چپ برید باید از 6 یکی کم کنید = 5.
اگه بخواهید به بالا برید باید از 6 چهارتا کم کنید =2.
اگه بخواهید به پایین برید باید به 6 چهار تا اضافه کنید که بشه 10
تا اینجا که همه متوجه شدید.
حالا چطوری ما این الگوریتم رو روی فرم پیاده سازی کنیم؟
تابع زیر:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یک کنترل گرفته و ایندکس اونو برمیگردونه مثلاً textbox6 ایندکس 6 برمیگردونه که این تابع در اصل عدد 6 رو از نام کنترل textbox6 جدا میکنه و به ما برمیگردونه.
تابع زیر:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یک ایندکس میگیره و کنترل رو توی فرم پیدا میکنه و به ما برمیگردونه.
مثلاً ما اگه ایندکس 6 بدیم اون متن textbox رو به اول عدد 6 اضافه میکنه که بشه textbox6 بعد اونو توی فرم جستجو و به ما میده.
یک کنترل بالای کدها تعریف کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد از اجرای فرم اون کادر متنی که میخواهید اول از روش حرکت کنید رو بریزید توی اشاره گری که درست کردیم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
الان textBox1 توی اشاره گر رفته میتونید فکوسشم بکنید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کد رو توی رویداد KeyDown فرم خودتون بذارید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خط اول:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با تابع GetIndex یی که ساختیم بالا توضیح دادم.ایندکس کنترل فکوس شده رو میریزیم توی متغیر index.
پس چون ما اولین کنترل رو یعنی textbox1 رو توی fc ریختیم پس به ما عدد 1 رو برمیگردونه.
switch هم که همه استادید و توضیح نمیخواد میبینه روی کدوم یک از کنترلهای حرکت کلیک کردید بعد عملیات جمع و کم رو روی ایندکس انجام میده.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثلاً ما رو فلش سمت راست کلیک کردیم ایندکس ما هم 1 هست این میاد یکی به ایندکس اضافه میکنه و میشه 2.
با تابع GetControl ایندکس 2 رو جستجو و کنترلش رو میگیرم.
با شرط زیر هم چک میکنیم که کنترل خالی نباشه بعد هم کنترل پیدا شده رو فکوس میکنیم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دیگه از این راحت تر نمیشد توضیح بدم.
موفق باشید
.