PDA

View Full Version : لاک کردن کومبو باکس



Hermes1966
جمعه 17 آذر 1402, 20:24 عصر
با عرض سلام خدمت اساتید محترم،
چطور می‌شود جلوی تایپ کاربر در کومبوباکس را گرفت. من مقدار Locked را برابر Yes قرار دادم و جلوی تایپ در کومبو باکس گرفته شد اما مشکل اینجاست که آیتمهای خود کومبو باکس هم لاک می‌شوند. از چه خاصیتی برای این منظور می‌توان استفاده کرد.
با تشکر فراوان

eb_1345
شنبه 18 آذر 1402, 00:09 صبح
با عرض سلام خدمت اساتید محترم،
چطور می‌شود جلوی تایپ کاربر در کومبوباکس را گرفت. من مقدار Locked را برابر Yes قرار دادم و جلوی تایپ در کومبو باکس گرفته شد اما مشکل اینجاست که آیتمهای خود کومبو باکس هم لاک می‌شوند. از چه خاصیتی برای این منظور می‌توان استفاده کرد.
با تشکر فراوان
سلام
از کد زیر در رویداد KeyDown کمبوباکس استفاده کن !


If KeyCode <> vbKeyTab And KeyCode <> vbKeyReturn Then KeyCode = 0


واگر میخواهی عدم ویرایش رو به کاربر اعلام نمایید در همون در رویداد KeyDown از کد زیر استفاده کن!


Select Case KeyCode
Case vbKeyTab, vbKeyReturn, vbKeyDown, vbKeyUp
Case Else
KeyCode = 0
MsgBox " شما بايد مقداري را از کمبوباکس انتخاب نماييد" & vbNewLine & vbNewLine & "! شما قادر به ویرایش یا اضافه کردن مقدار جديد نمي باشيد"
End Select

Hermes1966
شنبه 18 آذر 1402, 00:27 صبح
جناب eb_1345 بسیار ممنون و سپاسگزارم. مشکل حل شد.
با سپاس

mazoolagh
شنبه 18 آذر 1402, 11:21 صبح
سلام و روز خوش
هر چند پاسخ دقیق داده شده، ولی میشه برای تکمیل بحث 2 مورد دیگه رو هم در نظر گرفت،
بخصوص اگر هدف محدود کردن انتخاب به لیست باشه:

1- استفاده از لیست باکس به جای کمبوباکس
البته از نظر ظاهری شاید با خواسته منافات داشته باشه ولی از نظر عملکرد نیاز به کدنویسی نداره.

2- روشن کردن limit to list و استفاده از رخداد not in list