PDA

View Full Version : سوال: textbox



kholous
یک شنبه 01 دی 1392, 19:41 عصر
سلام
میخواستم ببینم چطور می شه توی textbox فرمت تاریخ را تنظیم کرد طوری که مثلاً کاربر وارد کنه "13920930" ولی در textbox به این صورت نشون بده "1392/09/30"
ممنون میشم اگه توضیح بدید.

PMTornado
یک شنبه 01 دی 1392, 20:57 عصر
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8, 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Text1_Change()
If Len(Text1) = 8 Then
Text1 = Left(Text1, 4) & "/" & Mid(Text1, 5, 2) & "/" & Right(Text1, 2)
End If
End Sub

att4ck3r
سه شنبه 10 دی 1392, 11:07 صبح
با درود فراوان در تکست باکس میخواستم قابلیت پیست را غیر فعال کنم. کاربر تنها با تایپ کردن اطلاعات را وارد کند و ctrl + v یا copy-paste غیر فعال شود.چگونه اینکار را انجام دهم؟ بدرود

alirezabahrami
سه شنبه 10 دی 1392, 17:48 عصر
با درود فراوان در تکست باکس میخواستم قابلیت پیست را غیر فعال کنم. کاربر تنها با تایپ کردن اطلاعات را وارد کند و ctrl + v یا copy-paste غیر فعال شود.چگونه اینکار را انجام دهم؟ بدرود
سلام
در رویداد KeyDown هر کدام از تکست باکس هائی که نمیخواهید عمل کپی و پیست در آن صورت بگیرد کد زیر را وارد کن!


Clipboard.Clear
If Shift = 2 And (KeyCode = Asc("C")) Or (KeyCode = Asc("v")) Then
KeyCode = 0
End If


یا علی

hmbarnamenevis
سه شنبه 10 دی 1392, 18:01 عصر
دوست عزیز اینکه فقط برای رویداد صفحه کلید آن هم فقط برای کلید های C و V است. مثلا اگر Ctrl+Insert و Shift+Insert را بزنیم باز هم درج می کند. یا اینکه با راست کلیک موس هم می توانیم Paste کنیم!

hmbarnamenevis
سه شنبه 10 دی 1392, 18:07 عصر
یه راه کار هست فقط دو عیب دارد:
اما روش:
ابتدا شما خاصیت Locked جعبه متن را True کرده و سپس این کد را برایش بنویسید.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Text1.Text = Text1.Text + Chr(KeyAscii)
End Sub

عیوب:
1- این است که همیشه آخر جعبه متن تایپ می شود مثلا اگر مکان نما اول بود باز هم آخر درج می شود.
2- باید فقط برای حروف درج شود چون برای دیگر کلید ها چیزهای دیگر درج می کند که این هم با محاسبه کد اسکی حروف حل می شود.

آموزش برنامه نویسی از پایه: http://MyProgrammingVB.blogsky.com

alirezabahrami
سه شنبه 10 دی 1392, 19:28 عصر
دوست عزیز اینکه فقط برای رویداد صفحه کلید آن هم فقط برای کلید های C و V است. مثلا اگر Ctrl+Insert و Shift+Insert را بزنیم باز هم درج می کند. یا اینکه با راست کلیک موس هم می توانیم Paste کنیم!
سلام
با فرض اینکه نام تکست باکس شما Text1 است :
1- کد زیر را در رویداد KeyDown تکست باکس وارد کن!


If Shift = vbCtrlMask And (Chr(KeyCode) = "v" Or Chr(KeyCode) = "V") Then
Text1.Locked = True
Else
Text1.Locked = False
End If


2- 1- کد زیر را در رویدادMouseDown تکست باکس وارد کن!


If Button = vbRightButton Then
Text1.Locked = True
Else
Text1.Locked = False
End If


3- کد زیر را در رویداد MouseUp تکست باکس وارد کن!


If Text1.SelLength > 0 Then Text1.SelStart = Text1.SelStart


یاعلی

hmbarnamenevis
سه شنبه 10 دی 1392, 19:35 عصر
سلام
با فرض اینکه نام تکست باکس شما Text1 است :
1- کد زیر را در رویداد KeyDown تکست باکس وارد کن!


If Shift = vbCtrlMask And (Chr(KeyCode) = "v" Or Chr(KeyCode) = "V") Then
Text1.Locked = True
Else
Text1.Locked = False
End If


2- 1- کد زیر را در رویدادMouseDown تکست باکس وارد کن!


If Button = vbRightButton Then
Text1.Locked = True
Else
Text1.Locked = False
End If


3- کد زیر را در رویداد MouseUp تکست باکس وارد کن!


If Text1.SelLength > 0 Then Text1.SelStart = Text1.SelStart


یاعلی

If Shift = vbCtrlMask And (Chr(KeyCode) = "v" Or Chr(KeyCode) = "V" or KeyCode=45) Then