PDA

View Full Version : سوال: دستور if



saeed 444
دوشنبه 27 آذر 1391, 12:38 عصر
باسلام
من دستور شرطی رو نیاز دارم که با زدن یک باتن متن یک نکست باکس رو در یک لیست باکس چک کنه اگر وجود
داشت یک مسیج باکس ok و در غیر اینصورت مسیج باکس none رو فعال کنه

و صحیح این دستور چی میشه
if textbox1.text= 1 or 2 or 500 or 34 and 44 then
msgbox"ok"
else
msgbox"none"


با کمال تشکر از شما بزرگواران

shahryari
دوشنبه 27 آذر 1391, 13:24 عصر
For i As Integer = 0 To ListBox1.Items.Count - 1
If TextBox1.Text = ListBox1.Items.Item(i) Then
MsgBox("ok")
Exit Sub
End If
Next
MsgBox("none")

saeed 444
دوشنبه 27 آذر 1391, 13:38 عصر
با سلام
دوست عزیز این دستور کار میکنه وای msg box متوقف نمیشه و برای هر تکستی که هست یک msg box میده
اکر این تکست ها در لیست باکس زیاد باشند که هست ، باید به ازای هر تکست موجود در لیست باکس یک
msgbox رو close کرد

shahryari
دوشنبه 27 آذر 1391, 13:43 عصر
کد پست 2 اصلاح شد

shahryari
دوشنبه 27 آذر 1391, 13:46 عصر
For i As Integer = 0 To ListBox1.Items.Count - 1
If TextBox1.Text = ListBox1.Items.Item(i) Then
MsgBox("ok")
Exit Sub
End If
Next
MsgBox("none")
End Sub

مهرداد صفا
دوشنبه 27 آذر 1391, 23:11 عصر
باسلام
من دستور شرطی رو نیاز دارم که با زدن یک باتن متن یک نکست باکس رو در یک لیست باکس چک کنه اگر وجود
داشت یک مسیج باکس ok و در غیر اینصورت مسیج باکس none رو فعال کنه

و صحیح این دستور چی میشه
if textbox1.text= 1 or 2 or 500 or 34 and 44 then
msgbox"ok"
else
msgbox"none"


با کمال تشکر از شما بزرگواران


سلام
با استفاده از متود Contains:

ListBox1.Items.AddRange(Enumerable.Range(1, 10).Cast(Of Object).ToArray)
TextBox1.Text = 5
If ListBox1.Items.Contains(CInt(TextBox1.Text)) Then
MsgBox("yes")
Else
MsgBox("no")
End If

Moslem_Pc
سه شنبه 01 اسفند 1391, 01:55 صبح
این کد ساده و تست شده هست
موفق باشید

Dim f As Boolean = False
For Each a In ListBox1.Items
If a = TextBox1.Text Then
MsgBox("yes")
f = True
Exit For
End If
Next
If f = False Then
MsgBox("NO")
End If

دقت کنید دستور Exit For باعث میشه حلقه از کار بیفته و دستورات بعد از حلقه اجرا بشوند، و به این دلیل استفاده شده که اگر مثلا 100 مورد مشابه با تکست باکس درون لیست باکس موجود بود، برنامه فقط یک بار پیام تایید بده، اگه این دستور رو حذف کنید برنامه واسه هرکدوم از گزینه های مشابه، یک پیام جداگانه خواهد داد.
.
سوالی بود توی همین تاپیک بیان کنید.

AliRezaBeytari
سه شنبه 01 اسفند 1391, 16:01 عصر
صحیح این دستور چی میشه
if textbox1.text= 1 or 2 or 500 or 34 and 44 then
msgbox"ok"
else
msgbox"none"

بفرما :
Dim t As String
t = TextBox1.Text
If t = "1" Or t = "2" Or t = "500" Or t = "34" Then
MsgBox("OK")
Else
MsgBox("NONE")
End If

Moslem_Pc
سه شنبه 01 اسفند 1391, 22:04 عصر
البته اون کدی که اون بالا نوشتم طولانی هست، بهتره از خاصیتی که مختص همین کاره استفاده بکنیم
به شکل زیر

If ListBox1.Items.Contains(TextBox1.Text) Then
MsgBox("yes")
Else
MsgBox("no")
End If

فکر میکنم کد واضح باشه و نیازی به توضیح نباشه، با این حال سوالی بود در خدمتیم