View Full Version : مشکل با نمایش MessageBox
VisualStudio
پنج شنبه 28 تیر 1386, 20:17 عصر
من یک متغییر دارم که دورن یک حلقه هست که این متغییر مثلا سه با بار پشت سر هم (تعداد مشخص نیست) مقدار میگیره و در همان حلقه چک می کنه اگر این مقدار درست نباشه یک مسیج باکس که در آن یک پیغام هست نشون می ده حالا این سه بار پیام نشان میده من میخوام که یکبار نمایش بده و حتی زمانی هم که شرط برقرار است همان تعداد پیام را نشان می دهد چطور این مشکل را حل کنم
eyes_shut_number1
پنج شنبه 28 تیر 1386, 22:10 عصر
messagebox رو بیرون حلقه بذار!
یه مقدارم تعریف کن که اگه True بود msgbox رو نشون بده اگه نه که هیچ
فکر کنممنظورت یان بود
البته میتونی پیغم رو توی حلقه بذاری به شرط این که واسه بار اول که نشون داده شد EXIT Sub کنی
اگه منظورتون چیزه دیگه ای بگید لطفا
VisualStudio
جمعه 29 تیر 1386, 00:41 صبح
البته میتونی پیغم رو توی حلقه بذاری به شرط این که واسه بار اول که نشون داده شد EXIT Sub کنی
اگه منظورتون چیزه دیگه ای بگید لطفا
فکر کنم شما درست متوجه شدید اگر امکن داره این روش را بیشتر توضیح بدید
eyes_shut_number1
جمعه 29 تیر 1386, 01:17 صبح
راستش دو تا راه دارین
.اول این که توی حلقه هر جا که اشتباه شد شرط(برقرار نبود) Messagebox رو نشون بدین و با دستور Exit Sub یا Exit For
از حلقه یا ساب روتین بیاین بیرون
ForiAsInteger = 0 To 10
if (شرطبرقرارنبود ) then
MsgBox("Error")
ExitFor'Exit Sub
EndIf
Next
راه دوم اینه که Messagebox رو بیرون حلقه بذاری و یه متغیر بولین تعریف کنی که اگر شرط اشتباه بود اونو فالس کنه
DimtempAsBoolean = True
ForiAsInteger = 0 To 10
if (شرطبرقرارنبود ) then
temp = False
EndIf
Next
Iftemp = FalseThen
MessageBox.Show("errror")
EndIf
امید وارم همین بوده باشه!
VisualStudio
جمعه 29 تیر 1386, 02:21 صبح
متشکر از راهنمایی شما مشکل من حل شد اما زمانی هم که شرط برقرار است و اون دستور مورد نظر انجام میشه یکبار نشان می دهد
VisualStudio
جمعه 29 تیر 1386, 02:27 صبح
دوست عزیز فکر کنم اگر ان تکه کد را بزارم بهتر هست من از دیتابیس داده هام را می گیرم
و مجبور هستم برای گرفتن یوزرنیم و پسورد از دیتابیس استفاده کنم به دلایلی
این هم کد
DReader1 = cmd1.ExecuteReader
DoWhile DReader1.Read()
Uname = DReader1("Username".ToString)
Pword = DReader1("Password".ToString)
If Uname = txtUser.Text And Pword = txtPass.Text Then
MainFrm.Show()
Me.Hide()
Else
radboly = True
EndIf
Loop
If radboly = TrueThen
MessageBox.Show("کلمه عبور یا نام کاربری شما اشتباه می باشد , لطفا مجددا وارد کنید ", _
"اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning)
EndIf
eyes_shut_number1
جمعه 29 تیر 1386, 12:21 عصر
فرقی نداره دوتاش یکیه!
یکی پیغم تو حلقه میده یکی بیرون
باید کدی که اینجا زدین درست کار کنه
درسته؟
VisualStudio
جمعه 29 تیر 1386, 14:18 عصر
فرقی نداره دوتاش یکیه!
یکی پیغم تو حلقه میده یکی بیرون
باید کدی که اینجا زدین درست کار کنه
درسته؟
نه این مشکل را داره
متشکر از راهنمایی شما مشکل من حل شد اما زمانی هم که شرط برقرار است و اون دستور مورد نظر انجام میشه باز یکبار MsgBox را نشان می دهد
eyes_shut_number1
جمعه 29 تیر 1386, 14:35 عصر
اهان
ببین موقعی که متغیر radboly رو تعریف میکنی فالسش کن
dim radboly as boolean = False
یا این کارو بکن
DReader1 = cmd1.ExecuteReader
DoWhile DReader1.Read()
Uname = DReader1("Username".ToString)
Pword = DReader1("Password".ToString)
radboly = False
If Uname = txtUser.Text And Pword = txtPass.Text Then
MainFrm.Show()
Me.Hide()
Else
radboly = True
EndIf
Loop
If radboly = TrueThen
MessageBox.Show("کلمه عبور یا نام کاربری شما اشتباه می باشد , لطفا مجددا وارد کنید ", _
"اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning)
EndIf
فکر کنم مشکل همین بشه اگر حل نشد بگید .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.