View Full Version : دوسوال درمورد combobox
hsadeh
سه شنبه 30 مرداد 1386, 17:32 عصر
سلام - در VB.NET :
1- چگونه میتوان combobox راطوری تنظیم کرد که کاربر نتواند درون آن چیزی بنویسد و فقط بتواند یکی از آیتمهای آنرا انتخاب کند ؟
2- چگونه میتوان combobox راطوری تنظیم کرد که کاربر با نوشتن اولین حرف ، اولین کلمه که با آن حرف شروع میشود سلکت شود و اگر دومین حرف را سلکت کرد ، اولین کلمه ای سلکت شود که دوحرف اول آن همان دو حرفی باشند که توسط کاربر نوشته شده اند .
سپاسگزارم
rezaiy.ali
سه شنبه 30 مرداد 1386, 17:57 عصر
با سلام خدمت دوست گرامی
من فقط در مورد سوال اول شما می تونم کمک کنم
دوست گرامی در زمان طراحی خاصیت DropDownStyle ابزار combobox را به DropDownList تغییر دهید
با این کار دیگه کاربر نمی تونه چیزی داخل combobox بنویسه
MH2538
سه شنبه 30 مرداد 1386, 18:38 عصر
سلام
برای بخش دوم سئوالت
تو Propertyهای کمبوباکست گزینه AutoCompleteMode رو برابر با SuggestAppend قرار بده
hsadeh
چهارشنبه 31 مرداد 1386, 07:56 صبح
با تشکر از هر دوی شما دوستان عزیز
اما در مورد سوال دوم ، در Propertyهای کمبوباکس، گزینه AutoCompleteMode را پیدا نکردم
راه دیگری ندارد ؟ متشکرم
rezaiy.ali
چهارشنبه 31 مرداد 1386, 08:05 صبح
با سلام
اگه با VB.net 2005 کار میکنی اگه خوب دقت کنی حتما پیدا می کنی و اگه با 2003 کار می کنی شاید این کد کارساز باشه
ComboBox1.AutoCompleteMode=AutoCompleteMode.Sugges tAppend
negar_programmer
چهارشنبه 31 مرداد 1386, 08:11 صبح
با سلام
اگه با VB.net 2005 کار میکنی اگه خوب دقت کنی حتما پیدا می کنی و اگه با 2003 کار می کنی شاید این کد کارساز باشه
ComboBox1.AutoCompleteMode=AutoCompleteMode.Sugges tAppend
همچین کدی رو 2003 نداره
hsadeh
چهارشنبه 31 مرداد 1386, 08:20 صبح
با 2003 کار میکنم .
AutoCompleteMode را نمی شناسد
hsadeh
چهارشنبه 31 مرداد 1386, 14:11 عصر
یه راه حل پیدا کردم :
PrivateSub cboName_KeyUp(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) Handles combobox_name.KeyUp
AutoCompleteCombo_KeyUp(combobox_name, e)
EndSub
PublicSub AutoCompleteCombo_KeyUp(ByVal cbo As ComboBox, ByVal e As KeyEventArgs)
Dim sTypedText AsString
Dim iFoundIndex AsInteger
Dim oFoundItem AsObject
Dim sFoundText AsString
Dim sAppendText AsString
'Allow select keys without Autocompleting
SelectCase e.KeyCode
Case Keys.Back, Keys.Left, Keys.Right, Keys.Up, Keys.Delete, Keys.Down
Return
EndSelect
'Get the Typed Text and Find it in the list
sTypedText = cbo.Text
iFoundIndex = cbo.FindString(sTypedText)
'If we found the Typed Text in the list then Autocomplete
If iFoundIndex >= 0 Then
'Get the Item from the list (Return Type depends if Datasource was bound
' or List Created)
oFoundItem = cbo.Items(iFoundIndex)
'Use the ListControl.GetItemText to resolve the Name in case the Combo
' was Data bound
sFoundText = cbo.GetItemText(oFoundItem)
'Append then found text to the typed text to preserve case
sAppendText = sFoundText.Substring(sTypedText.Length)
cbo.Text = sTypedText & sAppendText
'Select the Appended Text
cbo.SelectionStart = sTypedText.Length
cbo.SelectionLength = sAppendText.Length
EndIf
EndSub
فقط در خط اول و دوم بجای combobox_name باید نام کمبوباکس خودتان رابنویسید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.