رفتن به مطلب
  • 0

کمک در رویداد Click


Arash.1374m

سوال

بچه ها کمک

من این منویی که توی عکس هست رو درست کردم با حلقه ی for

هر ردیف سه تایی توی یه پنل قرار دارن و هر پنل هم parent اون سه تا button داخلشه هست!

اسم دکمه ها توی هر سطر اینجوره : button1 ,button2 , button3

بعد با حلقه ی for سه بار تکرارش کردم و شکل زیر درست شد

حالا من رویداد Click رو براشون چجوری تعریف کنم؟؟

آخه من 3 تا button1 و 3 تا button2 و 3 تا button3 دارم و موقعی که کد sub button1_Click رو مینویسم,3 تا button1 دارم و اینجوری نمیتونم به اکتیویتی مورد نظر برم

میشه بگید چیکار کنم؟؟؟

مرسی از همگی

attachment.php?attachmentid=1782&stc=1

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

سلام

من الآن سورس رو نگاه کردم گیج شدم *che?*

ببخشید دقیقا کاری که شما میخواهید انجام بدید چیه؟

این سورس جدید رو نگاه کنید حالا

من میخام که وقتی روی یکی از این button ها کلیک شد یه اکتیویتی رو اجرا کنه ولی من از هرکدوم از button ها چند تا دارم مثلا از button1 من سه تا دارم (با توجه به حلقه ی for ) و یا از button2 سه تا.

میخام وقتی روی یکی از این button ها کلیک کرد به اکتیویتی مورد نظر بره ولی چون اسمشون یکیه نمیشه این کارو کرد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب اگه همنقدر هست از باتون یک درست کنید تا باتون 9 و به هرکدوم یه رویداد کلیک بدید فکر نکنم راه دیگه ای باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من جواب این تاپیک و چند تا مثل اینو ندادم ببینم کیا چند مرده حلاج هستن *fekr*

میلاد جان مگه میشه راه دیگه ای نباشه ؟

شما فکر کن یک برنامه داری مثل همون بانک پیامکی و توش 500 تا پیام بالا اومده

اصلا فکر کنم n تا پیام بالا اومده !

هر پیامک یک Button داره برای Share کردن متن اون پیام ! چطوری این رو میخواهید پیاده کنید؟؟؟ *laie* نمیشه که 500 تا رویداد کلیک تعریف کرد ... !

یکی دو روز دیگه به جواب نرسید جواب رو میدم بخندین *laie*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا از ارایه ها برای ابجکتهای تکراری باید استفاده کنی همون حلقه روی ارایه پیاده کن فکر کنم مشکلت حل بشه

در واقع اینطوری میشه Button(1)

Button(2)

فکر کنم نمونه کد سرچ کنی همینجا باشه

ببخشید وقت ندارم خودم بگردم برات نمونه کد بدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب اگه همنقدر هست از باتون یک درست کنید تا باتون 9 و به هرکدوم یه رویداد کلیک بدید فکر نکنم راه دیگه ای باشه

خب من میخاستم که یه چیز کلی باشه نه فقط محدود به 9 تا دکمه واسه همینه میخاستم یه چیز جامع باشه این منو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا از ارایه ها برای ابجکتهای تکراری باید استفاده کنی همون حلقه روی ارایه پیاده کن فکر کنم مشکلت حل بشه

در واقع اینطوری میشه button(1)

button(2)

فکر کنم نمونه کد سرچ کنی همینجا باشه

ببخشید وقت ندارم خودم بگردم برات نمونه کد بدم

اینی که شما گفتین همون کارو انجام میده...جواب نداد این کد :S

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد

شما میخواهید فقط از 9 تا باتون استفاده کنید یا خیرتعداد بیشتر هست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من جواب این تاپیک و چند تا مثل اینو ندادم ببینم کیا چند مرده حلاج هستن *fekr*

میلاد جان مگه میشه راه دیگه ای نباشه ؟

شما فکر کن یک برنامه داری مثل همون بانک پیامکی و توش 500 تا پیام بالا اومده

اصلا فکر کنم n تا پیام بالا اومده !

هر پیامک یک Button داره برای Share کردن متن اون پیام ! چطوری این رو میخواهید پیاده کنید؟؟؟ *laie* نمیشه که 500 تا رویداد کلیک تعریف کرد ... !

یکی دو روز دیگه به جواب نرسید جواب رو میدم بخندین *laie*

مرسی اقای ایزدی من خودم هم دارم تلاش میکنم که این مشکل رو حل کنم ولی خب چون تازه کار هستم, اینجا مطرح کردم که از اساتید این انجمن کمک بگیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله آقا مهدی میدونم کار نشد نداره اما مثلا تو لود متن با مولتی پنل ما میاییم یکی یکی پنل رو تکرار میکنیم اما اینجا میخواهیم سه تا سه تا باتون ها رو تکرار کنیم که مقداری کاررو سخت میکنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد

شما میخواهید فقط از 9 تا باتون استفاده کنید یا خیرتعداد بیشتر هست؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

توجه توجه راه جدید!!!!!

 

سلام من اینطور از مشکل شما متوجه شدم که نمیتونین به دکمه ایی که با ارایه درست کردین مقدار بدین منم همچین مشکلی تو ایمیج ویو داشته 50تا ایمیج ویو باید به هر دکمه ایی تگ بدین یعنی تو اون حلقه ایی برای ساختن اون قسمت استفاده میکنین به مقدار همون دکمه دستور تگ هم بنویسین مثلا
btn(i).tag = i
یعنی مقدار i اگر یک باشه میشه دکمه یک بهش نشون یک بده و همینطور دکمه دو نشون دو برای مقدار دادن هم از این رویداد و دستور استفاده کن البته این کدای من تو برنامه خودمه شما کمی تعییرش بدی حله
Sub img_Click Dim ims_btn As ImageView ims_btn = Sender
حالا با این کد بازی کنین ims_btn.Tag البته جای img_btn اسم دکمه خودتونی بزارین مثلا اگر dokme.tag = 1 بود پیام بده سلام

 

با استفاده از حلقه :

Sub img_Click

Dim d1d As ImageView
Dim image As ImageView
Dim bmp1 As Bitmap
d1d = Sender
    
 	 For i=0 To 3
	    If d1d.Tag = i Then
		image.Initialize("")
	 	bmp1.Initialize(File.DirAssets,i&".jpg")
		image.SetBackgroundImage(bmp1)
		a1.JumpToPanel(1,200,100)
		
	 Else
		End If	
     
	 Next

		

End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

توجه توجه راه جدید!!!!!

 

 

 

 

با استفاده از حلقه :

Sub img_Click

Dim d1d As ImageView
Dim image As ImageView
Dim bmp1 As Bitmap
d1d = Sender
    
 	 For i=0 To 3
	    If d1d.Tag = i Then
		image.Initialize("")
	 	bmp1.Initialize(File.DirAssets,i&".jpg")
		image.SetBackgroundImage(bmp1)
		a1.JumpToPanel(1,200,100)
		
	 Else
		End If	
     
	 Next

		

End Sub

مرسی از راهتون ولی حلقه ی for خیلی وقته که اختراع شده اموزشش هم زیاد هست

حالا یه سوال از 20 اردیبهشت تا 17 مهر چند روز میگذره؟

حدود 6 ماه طبق قوانین نباید تاپیک رو بالا می اوردید  ( گزارش )

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من اینطور از مشکل شما متوجه شدم که نمیتونین به دکمه ایی که با ارایه درست کردین مقدار بدین

منم همچین مشکلی تو ایمیج ویو داشته 50تا ایمیج ویو

باید به هر دکمه ایی تگ بدین

یعنی تو اون حلقه ایی برای ساختن اون قسمت استفاده میکنین به مقدار همون دکمه دستور تگ هم بنویسین مثلا

btn(i).tag = i

یعنی مقدار i اگر یک باشه میشه دکمه یک بهش نشون یک بده و همینطور دکمه دو نشون دو

برای مقدار دادن هم از این رویداد و دستور استفاده کن

البته این کدای من تو برنامه خودمه شما کمی تعییرش بدی حله


Sub img_Click

Dim ims_btn As ImageView
ims_btn = Sender

حالا با این کد بازی کنین ims_btn.Tag البته جای img_btn اسم دکمه خودتونی بزارین

مثلا اگر dokme.tag = 1 بود پیام بده سلام

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من اینطور از مشکل شما متوجه شدم که نمیتونین به دکمه ایی که با ارایه درست کردین مقدار بدین

منم همچین مشکلی تو ایمیج ویو داشته 50تا ایمیج ویو

باید به هر دکمه ایی تگ بدین

یعنی تو اون حلقه ایی برای ساختن اون قسمت استفاده میکنین به مقدار همون دکمه دستور تگ هم بنویسین مثلا

btn(i).tag = i

یعنی مقدار i اگر یک باشه میشه دکمه یک بهش نشون یک بده و همینطور دکمه دو نشون دو

برای مقدار دادن هم از این رویداد و دستور استفاده کن

البته این کدای من تو برنامه خودمه شما کمی تعییرش بدی حله


Sub img_Click

Dim ims_btn As ImageView
ims_btn = Sender

حالا با این کد بازی کنین ims_btn.Tag البته جای img_btn اسم دکمه خودتونی بزارین

مثلا اگر dokme.tag = 1 بود پیام بده سلام

آفرین

تقریبا 90% راه رو درست رفتید *like*

فقط آخرش رو خراب کردید.

حالا فکر کنید 1000 تا Button هست

شما هی میخواهید تعریف کنید که اگه 1 بود این کار کن اگه 2 بود اینکار کن... ؟؟؟

××××××××××××××××

علیرضا شانس آوردی پاک کردی پستت ها :-d اومدم تیکه بارت کنم دیدم پست رو پاکیدی *laugh2*

فن و فوت اختراع میکنید :-d

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینم کد به صورت کامل برای تولید و اندیس تخصیص دادن:

Sub Globals
   Dim Buttons() As Button 
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Layout1")
  Buttons = CollectViews("1")
End Sub

Sub CollectViews(tag As String ) As Button
Dim btnsList As List
btnsList.Initialize 

For Each v As View In Activity.GetAllViewsRecursive
    If v.tag = tag Then btnsList.Add(v)
  Next
  Dim btns(btnsList.Size) As Button
  For i = 0 To btns.Length - 1
    Dim btn As Button = btnsList.Get(i)
    btns(i).Tag = btn
  Next
  Return btns


End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

البته منم با مهدی موافقم اگه تعداد دکمه ها محدود نباشه به این صورت که ما بیایم توسط tag(شماره اندیس هر کنترل) بیایم شرط بزاریم کنترل هارو شناسایی کنیم به مشکل بر میخوریم ولی فعلا دوستمون تعداد دکمه هایی که میخواد تولید کنه محدوده:

فعلا همینقدره ولی خب بستگی به نیاز برنامه ممکنه بیشتر بشه
لینک ارسال
به اشتراک گذاری در سایت های دیگر

علیرضا کارت جالبه ولی غیر استاندارد هست و همینی که هست هم نمیدونم جواب بده یا نه که به نظرم احتمال 90% جواب نمیده.

یه همچین کارهایی میشه کرد برای مقادیر محدود ولی این کد نواقص زیادی داره به نظرم.

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

×××××××××××××××××××××××

آقا اصلا شما فرض کنید سوال تاپیک اینه:

بر یک برنامه دارم 2000 تا پیامک توشه. هر روز هم آپدیت میشه دیتابیس از اینترنت. مقدارش رو هم نمیدونم

امکان داره الان 2000 باشه ، 30 ثانیه بعد بشه 2010 تا ، 20 دقیقه بعد بشه 2023 تا !

راهنماییم کنید چطوری متن هارو بگیرم؟؟؟ *fekr*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب بعله درست میگین

مثلا من 50تا ایمیج داشتم برای همشون مثله همین شخص که مشکل داره اینطوری چیده بودم

ولی بگفته شما دیگه نیومدم بگم فلان یک شد فلان کن دو شد بسار کن

اومدم عدد تگو روی لینک گذاشتم کارم راه افتاد

مثلا

 Bitmaplist.Initialize(LoadBitmap(File.DirAssets,"pic/chafiye (" & id &").jpg")) 

اینطوری حلش کردم

البته بگم عکسامو شماره گذاری کردم پشت سرهم

مثلا من تو زمانی میخوام از بانک استفاده کنم پوزیشن لیست ویو رو میگیرم به cursor نسبت میدم متن اون موضوع رو میگیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...