PDA

View Full Version : سوال: اجرای چندین باره یک Button



mohsencom
پنج شنبه 18 فروردین 1390, 17:37 عصر
با سلام خدمت تمامی دوستان

یه سوالی برام پیش اومده...این که چطور میتونم برای یک Button چندین بار اجرای دستور تعیین کنم

مثلا :

بار اول که کلیک میکنم--------> دستور اول
بار دوم که کلیک میکنم--------> دستور دوم
.
.
.
بار n ام که کلیک میکنم--------> دستور n ام

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

هدف از این کار :
من محصولاتی در یک بانک اطلاعاتی Access دارم که میخوام در یک فرم اونهارو نمایش بدم...هر محصولی در یک panel جداگانه.....حال فرض بگیریم من 1000تا محصول دارم...در فرم نمایش محصولات میخوام 20 تا پنل باشه که 20 تا محصول توش جا میگیره.....حالا بایدیک دکمه رو کلیک کنم تا 20 محصول بعدی رو نمایش بده و هر بار که این دکمه رو کلیک میکنم 20 محصول بعدی رو نمایش میده و همچنین یک دکمه هم برای 20 محصول قبلی باید بذارم

ممنون میشم منو در رفع این مشکلم یاری کنید..ممنون از همتون...هم اکنون نیازمند یاری سبزتان هستیم

محسن شامحمدی
جمعه 19 فروردین 1390, 00:04 صبح
تو تاپیک ها جستجو کردم..کدهایی بودند که تا 3 بار کلیک میشد تعیین دستور کرد اما منظور من خیلی زیادتر از این هاست...

همه چیز که نباید آماده اش وجود داشته باشه
اینو می تونی خودت بنویسی:
Static i As Integer
i += 1
Select Case i
Case 0
MsgBox("code marhale aval")
Case 1
MsgBox("code marhale dovom")

End Select

mohsencom
جمعه 19 فروردین 1390, 00:27 صبح
مرسی دوست عزیز..راهنمایی خیلی خوبی بود...راستش من چیزی آماده نمیخواستم،فقط میخواستم بدونم چطوری از یک button میشه چندین بار اجرای متفاوت گرفت...امیدوارم این کد بهم جواب بده...ممنون از محبتتون :چشمک:

فقط یک سوال ...من که نمیدونم تعداد رکوردهام چندتا هست...بعدشم بر فرض که بدونم..مثلا نمیتونم 1000تا case بنویسم که...این مشکلو چطوری باید با یه حلقه شرطی حل کرد؟

omid-vbAuto
جمعه 19 فروردین 1390, 01:21 صبح
مرسی دوست عزیز..راهنمایی خیلی خوبی بود...راستش من چیزی آماده نمیخواستم،فقط میخواستم بدونم چطوری از یک button میشه چندین بار اجرای متفاوت گرفت...امیدوارم این کد بهم جواب بده...ممنون از محبتتون :چشمک:

فقط یک سوال ...من که نمیدونم تعداد رکوردهام چندتا هست...بعدشم بر فرض که بدونم..مثلا نمیتونم 1000تا case بنویسم که...این مشکلو چطوری باید با یه حلقه شرطی حل کرد؟

مگه شما نگفتی 1000 تا محصول داری که 20 تا 20 تا میره جلو؟خوب تو اونجا بنویسشون!!!
شما بالاخره می خوای برای هر کدوم از اون 1000 تا یه عکس یا یه توضیح بذاری یا نه؟خود به خود حل دگه.

mohsencom
جمعه 19 فروردین 1390, 01:59 صبح
مگه شما نگفتی 1000 تا محصول داری که 20 تا 20 تا میره جلو؟خوب تو اونجا بنویسشون!!!
شما بالاخره می خوای برای هر کدوم از اون 1000 تا یه عکس یا یه توضیح بذاری یا نه؟خود به خود حل دگه.

دوست عزیز من فرض گرفتم 1000تا.....اگه 1000 تا رو بر 20 تقسیم کنیم میشه 50 تا....یعنی من 50 تا caseبنویسم؟؟؟؟؟؟؟؟:متعجب:
تازه فرض گرفتم 1000تا..شاید خیلی بیشتر بشه....

بلدم تعداد رکوردهارو بدست بیارم فقط این عمل رفت و برگشت ( دکمه بعدی و دکمه قبلی)برام مشکل شده

اگه منطق اینکارو بفهمم دیگه حله....ببینید این کد واسه اینه که اعداد افزایش و کاهش پیدا کنن...اگه این کدو یکاری کنین که درست جواب بده راهنمایی بزرگی بهم کردید...بجای اون دستور واسه case میتونم کد مورد نظرمو بنویسم

Public Class Form1
Public i As Integer = 0
Public Currenti As Integer
Public j As Integer = 1
Public n As Integer = 11

Private Sub Next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Select Case i
Case i
Label1.Text = "MyCode " & i
End Select
Currenti = i
j = Currenti - 1
i = Currenti
i = i + 1
If i = n Then
i = 0
End If
End Sub

Private Sub Back_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Select Case j
Case j
Label1.Text = "MyCode " & j
End Select
j = j - 1
If j = 0 Then
j = n
End If
End Sub
End Class

shadi khanum
جمعه 19 فروردین 1390, 17:49 عصر
خوب واسه چی میخواین butonتون چندتا کار انجام بده ، شما با یه دکمه مثلا fill کل اطلاعات رو از دیتابیستون بخونید و اون تعدادی که میخواین رو نشون بدین و با next و back بعدی ها یا قبلی ها رو نشون بدین

mohsencom
جمعه 19 فروردین 1390, 20:09 عصر
خوب واسه چی میخواین butonتون چندتا کار انجام بده ، شما با یه دکمه مثلا fill کل اطلاعات رو از دیتابیستون بخونید و اون تعدادی که میخواین رو نشون بدین و با next و back بعدی ها یا قبلی ها رو نشون بدین

خب واسه بعدی ها باید یه case دیگه هم بذارم دیگه....واسه بار اول 20 رکورد اول...بار دوم 20 رکورد بعدی والی آخر:لبخندساده:
دارم روش کار میکنم...و به یه جاهایی دارم میرسم....دوستان خوشحال میشم اگه راهنمایی هست در این زمینه بکنن