Change Event

msdn

New Member
چه كدي مي خواهيد؟

wahid2003vj گفت:
با سلام خدمت دوستان
من دنبال کد های رویدادchange برای یک combo box هستم
من الان در كتابخانه ((ام اس دي ان)) سرچ كردم.
خيلي برنامه ها براي كومبوباكس يافتم. بي زحمت دقيق بگيد مي خواهيد برنامه چه كاري انجام بده تا برايتان پيدا كنم.
.
 

wahid2003vj

Active Member
با سلام مجدد
من میخوام یه قطعه کد بنویسم که بیادcombobox،tag رو با حالت فعلی اون مقایسه کنه اگر برابر نبود یه کاری انجام بده
با زبانVB
با تشکر
 

saalek110

Well-Known Member
من ((وي بي دات نت)) را هنوز نصب نكرده ام. نمي تونم كدها را امتحان كنم.
شرمنده.
.
ولي مي تونم كده را بدون امتحان بفرستم تا خودتون امتحان و انتخاب كنيد.
.
 
آخرین ویرایش:

saalek110

Well-Known Member
اگر منظور شما از وي بي ، ويژوال بيسيك 6 است ،
خواهشا بگيد
tag
چيه. آيا منظور همه عناصر وارد شده است در كومبو باكس يا عنصر اول.
. شايد تگ چيز معروفي باشد ولي من با اين كلمه برخورد نكرده ام.
آماده ام در ويژوال بيسيك با هم همكاري كنيم. و به نفع من هم هست چون خيلي چيز ياد مي گيرم. همين ديشب كلي چيز ياد گرفتم. وآماده ارائه هستم. منتظر پاسخ شما هستم. خواهشا بيشتر توضيح بدهيد و چند خط كد هم بنويسيد ...چون آنچه من دارم كلي شكلهاي مختلف كدنويسي براي كومبوباكس است. اين جوري من خيلي سريع مي تونم به جواب برسم.
. با تشكر
.
 

msdn

New Member
اين فقط يك نمونه است و پاسخ دقيق شما نيست. در ويژوال بيسيك 6 تست شد. منبع ((ام اس دي ان))
[ltr]Steps to Test the Routine
Create a new standard EXE project in Visual Basic. Form1 is created by default.

Add a ComboBox control to Form1 from the toolbox.

Cut-and-paste the following code into the Form module:


Private Sub Combo1_Change()

Dim listcount As Integer
Dim textlen As Integer
Dim matchexists As Boolean

textlen = Len(Combo1.Text)
For listcount = 0 To Combo1.listcount - 1
If UCase(Mid(Combo1.List(listcount), 1, textlen)) = UCase(Combo1.Text) Then
matchexists = True
Exit For
End If
Next

If Not matchexists Then
MsgBox "Value not present in the list... Kindly enter a valid value.."
End If

End Sub

Private Sub Form_Load()
Combo1.AddItem "Sam"
Combo1.AddItem "Paul"
Combo1.AddItem "Peter"
Combo1.Text = ""
End Sub

Run the project, and then type in appropriate values in the edit portion of the ComboBox to test the routine.

For example, try typing the following to evaluate the outcome of the validation:
Same, Pater, Paul, Paul

Note that in the first three cases, the validation message pops up as soon as the first character (e,a, and d) that results in a NoMatch is keyed into the edit portion.
[/ltr]
 

western

Member
سلام

اول راجع به tag يه توضيح مختصر ميدم

Tag در كنترل ها در واقع يك نوع متغير از نوع string براي كنترل ها هستش كه براي هر كنترلي بطور جداگانه قابل تعريف هست مورد استفاده اون هم بستگي به نوع كنترلي هست كه استفاده ميكنيد مثلا براي يك كنترل tree view تگ براي هر گره اون قابل تعريف هست و در اينجا ميتونيم براي شناسايي مقدار انتخاب شده توسط كاربر و اجراي كد متناسب با اون انتخاب از تگ استفاده كنيم (كنترل هاي ديگري كه مورد استفاده تگ تو اونا مشابه مثال بالا هستن : Toolbar براي دكمه هاي اون - ListView براي ListItem و كنترل هاي ديگر مثل image list - tab strip - status bar

اما در بعضي كنترل ها مثل همين combo box فقط يك tag قابل تعريف هست كه مورد استفاده اون مثلا براي يك مقايسه مثل سوال دوستمون بكار ميره و البته استفاده هاي ديگه اي هم داره
تعريف tag هيچ تغييري در كاركرد يك كنترل مثل combo بوجود نمياره اما خب يك ابزار اضافي هست براي برنامه نويس


از اساتيد تقاضا دارم اگر در توضيحات من اشكالي وجود داره حتما تذكر بدهند
-------------------------------------------------------

حالا ميرسيم به سوال آقا وحيد

ببينيد مثلا شما تگ كنترل combo رو برابر A قرار ميديد و از طرف ديگه combo شما آيتم هاي A - B - C رو تو خودش داره حالا براي اينكه ببينيد مقدار انتخاب شده در كومبو شما با تگ كنترل مساوي هست يا نه به مثال زير توجه كنيد


در اين مثال با فشرده شدن command1 بررسي ميشه كه آيا مقدار انتخاب شده در كومبو با تگ اون برابر هست يا نه (در صورت برابر بودن يك صداي بيپ پخش ميشه)


کد:
Private Sub Form_Load()
Combo1.AddItem "A"
Combo1.AddItem "B"
Combo1.AddItem "C"
End Sub


Private Sub Command1_Click()
Combo1.Tag = "A"
If Combo1.Text = Combo1.Tag Then
Beep
End If
End Sub

ببخشيد كه بد توضيح ميدم
اميدوارم منظورت از سوال همين بوده باشه و بدردت بخوره

موفق باشيد - محمد
 

wahid2003vj

Active Member
lممنون از اینکه جواب دادی میخواستم توضیحات tag رو بنویسم که شما زحمتش رو کشیدی
بازم تشکر
 

جدیدترین ارسال ها

بالا