PDA

View Full Version : در مورد کنترل TextBox - و چند سوال دیگه



reza1357
چهارشنبه 04 بهمن 1385, 10:36 صبح
سلام دوستان
چه کدی بنویسم که بتونم بین textbox ها با دکمه Enter پرش کنم و دقیقن مثل دکمه tab عمل کنه؟
یک مشکل دیگه هم دارم که بعدن ان را مطرح میکنم

با تشکر

zar2000
چهارشنبه 04 بهمن 1385, 11:28 صبح
سلام بزرگترین اندیس آرایه
اگر TextBox ها آرایه باشند می توانی از این کد در رویداد TextBox، KeyDown استفاده کن

If KeyCode = vbKeyReturn Then
If Index >= 6 Then
Text1(0).SetFocus
Else
Text1(Index + 1).SetFocus
End If
End If
توجه : در سطر دوم کد به جای عدد 6 بزرگترین اندیس آرایه را جایگزین کن

Neeloofar
چهارشنبه 04 بهمن 1385, 13:39 عصر
سلام دوستان
چه کدی بنویسم که بتونم بین textbox ها با دکمه Enter پرش کنم و دقیقن مثل دکمه tab عمل کنه؟
یک مشکل دیگه هم دارم که بعدن ان را مطرح میکنم

با تشکر

راهی که ایشون گفتن بشرط داشتن یک آرایه هست.
ولی فکر کنم این راه بهتر باشه.
در روال KeyPress تکست مربوطه این کدها رو بنویسید.



Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{Tab}"
KeyAscii = 0
End If
End Sub


موفق باشید!

sjj
چهارشنبه 04 بهمن 1385, 14:22 عصر
برای اینکه وقتی این کد رو نوشتی موقع زدن Enter صدای بیپ در نیاد کد زیر رو هم باید در رویداد KeyPress مربوط به TextBox بنویسید :
If KeyAscii=13 then KeyAscii=0

reza1357
چهارشنبه 04 بهمن 1385, 16:08 عصر
دستتون درد نکنه دوستان بعد از اینکه این سوال را پرسیدم کلی روش کار کردم تا تونستم این کدها را تعریف کنم.
یک مشکل دیگه چطوری میتونم خاصیت AutoSelect هر Text را فعال کنم یعنی وقتی مکان نما به text بعدی برود محتوای ان نیز انتخاب شود؟

با تشکر

reza1357
چهارشنبه 04 بهمن 1385, 16:19 عصر
دوستان این کدی که برای پرش مکان نما بین text ها نوشتم :



If KeyAscii = 13 Then
Select Case Index
Case Index
If Index < 5 Then
Text1(Index + 1).SetFocus
Else
cmdUpdate.SetFocus
End If
End Select
End If

Neeloofar
چهارشنبه 04 بهمن 1385, 23:29 عصر
دستتون درد نکنه دوستان بعد از اینکه این سوال را پرسیدم کلی روش کار کردم تا تونستم این کدها را تعریف کنم.
یک مشکل دیگه چطوری میتونم خاصیت AutoSelect هر Text را فعال کنم یعنی وقتی مکان نما به text بعدی برود محتوای ان نیز انتخاب شود؟

با تشکر

این کدها رو برای روال GotFocus هر TextBox در نظر بگیر:



Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub


اگر Textها آرایه هستند این کد رو بگذار:



Private Sub Text1_GotFocus(Index As Integer)
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index).Text)
End Sub

sjj
پنج شنبه 05 بهمن 1385, 11:01 صبح
برای اینکه وقتی روی هر تکست باکس میری Select بشه می تونی این کد رو توی رویداد GetFocus مربوط به تکست باکست بنویسی :
SendKeys "{Home}+{End}"
کد از این راحت تر کجا دیدی ؟!!!

reza1357
شنبه 07 بهمن 1385, 11:56 صبح
برای اینکه وقتی روی هر تکست باکس میری Select بشه می تونی این کد رو توی رویداد GetFocus مربوط به تکست باکست بنویسی :
SendKeys "{Home}+{End}"
کد از این راحت تر کجا دیدی ؟!!!

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

sjj
شنبه 07 بهمن 1385, 15:46 عصر
این کد جواب نداد!!!
روش قبلی بنظرم بهتر است.
با سپاس
چرا جواب نداد ؟ تو این مثالی که گذاشتم رو تکست باکس اولی Enter بزنید ، نتیجه رو ببنید.

sjj
شنبه 07 بهمن 1385, 15:48 عصر
این کد جواب نداد!!!
روش قبلی بنظرم بهتر است.
با سپاس
چرا جواب نداد ؟ تو این مثالی که گذاشتم رو تکست باکس اولی Enter بزنید ، نتیجه رو ببنید.6656

mortez maya
شنبه 07 بهمن 1385, 20:59 عصر
جناب sjj روش شما خیلی کوتاه تره ضمنا موقع ارسال دقت کنید چند تا چند تا نفرستید گرچه مشکل از خطوطه./

reza1357
یک شنبه 08 بهمن 1385, 08:44 صبح
برای اینکه وقتی روی هر تکست باکس میری Select بشه می تونی این کد رو توی رویداد GetFocus مربوط به تکست باکست بنویسی :
SendKeys "{Home}+{End}"
کد از این راحت تر کجا دیدی ؟!!!



چرا جواب نداد ؟ تو این مثالی که گذاشتم رو تکست باکس اولی Enter بزنید ، نتیجه رو ببنید.
دوست عزیز من از مثالی که زدین دست شما درد نکنه.
ولی توی پست اولی شما فرمودین برای Select شدنه مثالی که ارسال کردین کلید Enter است بهرحال روش بسیار خوب و کوتاهی است.

با سپاس

sjj
یک شنبه 08 بهمن 1385, 14:26 عصر
آقا جان ! این دستور SendKeys مگه چیکار می کنه ؟ خیلی راحت بگم ،توسط این تابع هر کلیدی از صفحه کلید رو که بخواید می تونید بدون فشار دادن اون کلید ، اون رو به بافر ارسال کرده و در واقع فشار دادن اون کلید رو شبیه سازی کنید.

SendKeys "{Home}+{End}"
تو اینجا کلید Home که تکلیفش مشخصه به اول متن می ره ، + نشاندهنده کلید Shift می باشد.End هم که همون کلید End خودمونه!
حالا شما یه بار این عمل رو ، روی یه متن به صورت عملی انجام بده،اول Home رو بزن ، بعد شیفت رو نگهدار و End رو بزن.به همین راحتی متن مورد نظر Select می شه.

sjj
یک شنبه 08 بهمن 1385, 15:01 عصر
این هم برای اطلاعات بیشتر درباره تابع SendKeys :

WWW.SJJVB.Blogfa.com (http://www.SJJVB.Blogfa.com)


امیدوارم که منظورم رو فهمیده باشید.

a_roshanfekr2
جمعه 11 اسفند 1385, 12:11 عصر
اقا تو راه حل هاتون بی خیال SendKeys بشین
چون فایروال ها این طور برنامه ها رو KeyLogger فرض می کنن
اگه کاربر نتونه با پیغام فایروال چی کارکنه ، مشکل پیش میاد.

reza1357
شنبه 12 اسفند 1385, 10:06 صبح
دوستان از همگیتون سپاسگزارم تمامی مشکلاتم برطرف شدن الان هم برنامه ام از لحاظ ورود و ویرایش کامل کامله الان هم دارم روی قسمت گزارش گیری کار میکنم.

با سپاس