رفتن به مطلب

rezaazadeh

کاربر رو به رشد
  • تعداد ارسال ها

    101
  • تاریخ عضویت

  • آخرین بازدید

پست ها ارسال شده توسط rezaazadeh

  1.  

    به نام خدا

    سلام دوستان عزیز بیسیک 4 آندروید دات اُ آر جی

    عیدتون مبارک و طاعات و عباداتتون مقبول درگاه حق

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

    خب دوستان قطعا همتون ساختن مولتی پنل رو یاد دارید و میتونید خیلی راحت بسازیدش به اندازه N  پنل :eynak: ولی خب این N  پنل طبیعتا یکسری اجزا داخلش هست که نیاز به کنترل کردن داره و دوست دارید با کلیک رو هر آیتم یک کار متفاوت انجام بدید

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

    خب برای کنترل کردن اشیا ما از رویداد اون شی استفاده میکنیم و مثلا ما 100تا Button  داریم و یک رویداد براشون به اسم btn_Click تعریف کردیم که طبق تگ و سندر اینجا عمل میکنیم ( استاندارد).خب حالا اومدیم ما توی مولتی پنل به جزء دکمه یک شی دیگه مثل CheckBox  یا  SeekBar  داشتیم.خب برای اینکه بتونیم اینو کنترل کنیم باید رویداد براش بنویسیم ؟ حالا رویداد هم بنویسیم ولی من دوست دارم با کلیک روی دکمه چک باکسم یا سیک بارک تغییر کنه.برای اینکار شما توی رویداد btn_Click  نمیتونید اینجوری بنویسید :

    Sub btn_Click
     Dim MyBtn As Button
     MyBtn = Sender
     ''''''''''
     Dim MyCheck As CheckBox
     MyCheck.Checked = True
    End Sub
    

    اینجور بگم که به این حالت نمیشه.خب چطور بتونیم یک ویو رو به وسیله یک ویو دیگه در مولتی پنل کنترل کنیم؟

    چطور بتونیم بین اشیایی که به صورت داینامیک یا پویا ساخته شده پیمایش کنیم ؟

    به این صورت که شما به وسیله تابع GetAllViewsRecursive مربوط به اکتویتی میتونید تمامی اشیا رو بگیرید و با استفاده از شرط های مناسب کارتون رو انجام بدید.

    ببینید کد دکممون به چه شکله :

    Sub btn_Click
    	Dim Mybtn As Button
    	Mybtn = Sender
    	GetTag = Mybtn.Tag
    	Dim Cur As Cursor
    	Cur = MyBank.ExecQuery("SELECT * FROM Dynamic WHERE id="&Mybtn.Tag)
    	Cur.Position = 0
    	For Each v As View In Activity.GetAllViewsRecursive
    	  If v Is CheckBox Then
    	  	Dim Check As CheckBox = v
    	    If Check.Tag = GetTag Then
    	   Check.Checked = Not(Check.Checked)
    	   End If
    	  End If
    	 Next
    End Sub
    

    خب طرز عمل ساخت مولتی پنلمون طبق دیتابیس هست و تگ تمامی اشیا آیدی هر رکورد هستش یعنی :

    1

    2

    3

    .

    .

    n

    کد بالا چه کاری انجام میده ؟

    میاد دکمه ای که کلیک میشه رو تگش رو میزاره توی آیدی دیتابیس و اطلاعات همون ردیف دیتابیس رو  میشه گرفت ولی ما اینجا اطلاعاتی نمیگیریم.طبق مثال با چک باکس.اما با سیک بار میتونیم از دیتابیس برای Value  اون اطلاعاتی گرفت.

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

    	   Check.Checked = Not(Check.Checked)
    

    اگه تیک خورده باشع تیکش برداشته میشه و بالعکس.

    خب از همین جا بگم غضه نخورید سورس رو واستون قرار میدم.

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

    اینم عیدی من به شما :crazy:

    (نکته : بنده از دیتابیس یک برنامه دیگه استفاده کردم که ستون های اضافی داره اصلا به مغزتون فشار نیارید هیچ جای برنامه بکار برده نشده و نمیشه :دی )

    مشکلی یا راهنمایی خواستید بنده در خدمتم.

    موفق باشید.

     

    لینک فایل :

    http://s3.picofile.com/file/8200995600/Multi_Panel_va_CheckBox.rar.html
    

    رمز فایل چنده؟؟

×
×
  • اضافه کردن...