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

تغییر رنگ لیبل با یک بار کلیک روی لیبل مورد نظر


siroos12

سوال

سلام علیکم.

دوستان تو دو تا تایپیک قبل خودم گذاشتم اما به نتیجه نرسیدم.

منظورم ی بار کلیک روی لیبل رنگ لیبلی که کلیک کردم تغیر کنه مثل این

post-3993-0-01523700-1446837412_thumb.jpg

کد هام هم اینن.

Sub Globals

Private ScrollView1 As ScrollView

Dim m As MediaPlayer

Private Label1 As Label
	
Private Panel1 As Panel
	
Dim c As Cursor
	
Dim s As SQL

Dim x As Int=1%y
Private Button1 As Button

End Sub


Sub SetlineSacing(Lbl As Label,add As Float,mult As Float)

Dim jo As JavaObject=Label1

jo.RunMethod("setLineSpacing",Array As Object(add,mult))

End Sub



Sub Activity_Create(FirstTime As Boolean)	
m.Initialize()

m.Load(File.DirAssets,"ashora.wma")

	Activity.LoadLayout("b")

If File.Exists(File.DirInternal,"2.db")=False Then

File.Copy(File.DirAssets,"2.db",File.DirInternal,"2.db")
End If

s.Initialize(File.DirInternal,"2.db",False)
c=s.ExecQuery("SELECT * FRom aa")
For i=0 To c.RowCount-1
c.Position=i
Dim p As Panel
p.Initialize("p")
ScrollView1.Panel.AddView(p,0,x,100%x,100%y)
x=x+42%y


p.LoadLayout("a")

Label1.Text=c.GetString("a")
Label1.Typeface=Typeface.LoadFromAssets("Mj_Shafigh.TTF")
Label1.Gravity=Gravity.CENTER
Label1.TextColor=Colors.Black
Label1.TextSize=25
SetlineSacing(Label1,1.5,1.5)
Label1.Top=0dip
ScrollView1.Panel.Height=x
Next
End Sub


Sub Button1_Click

If (m.IsPlaying)Then

m.Pause

Button1.Text="play"

Else

m.Play

Button1.Text="puse"

End If

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

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

بازم نشد نمیدونم چیکار کنم.

کسی از دوستان راهنمایی نمیکنه؟

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

سلام

شما دقیقا بگو مشکلت چیه و هدفت چیه ؟

نمی تونید رنگ متن لیبل رو تغییر بدید ؟

توی کدی که دوستمون دادن بجای TextColor  از Color  استفاده کردن.شما بجای Color  پراپرتی TextColor  رو وارد کن و کد رو تست کن.

موفق باشید.

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

سلام

شما دقیقا بگو مشکلت چیه و هدفت چیه ؟

نمی تونید رنگ متن لیبل رو تغییر بدید ؟

توی کدی که دوستمون دادن بجای TextColor از Color استفاده کردن.شما بجای Color پراپرتی TextColor رو وارد کن و کد رو تست کن.

موفق باشید.

عاقا من امتحان کردم ی بار هم شرط بودن فایلم که در حافظه داخلی. کپی میشه رو برداشتم اما تغییر نکرد،کد های برنامه ام بالا هستن میدونید مشکل کجاست؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

عاقا من امتحان کردم ی بار هم شرط بودن فایلم که در حافظه داخلی. کپی میشه رو برداشتم اما تغییر نکرد،کد های برنامه ام بالا هستن میدونید مشکل کجاست؟

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

سلام

ببین این کار میکنه :

Sub Globals

Private ScrollView1 As ScrollView

Dim m As MediaPlayer

Private Label1 As Label
	
Private Panel1 As Panel
	
Dim c As Cursor
	
Dim s As SQL

Dim x As Int=1%y
Private Button1 As Button

End Sub


Sub SetlineSacing(Lbl As Label,add As Float,mult As Float)

Dim jo As JavaObject=Label1

jo.RunMethod("setLineSpacing",Array As Object(add,mult))

End Sub



Sub Activity_Create(FirstTime As Boolean)	
m.Initialize()

m.Load(File.DirAssets,"ashora.wma")

	Activity.LoadLayout("b")

If File.Exists(File.DirInternal,"2.db")=False Then

File.Copy(File.DirAssets,"2.db",File.DirInternal,"2.db")
End If

s.Initialize(File.DirInternal,"2.db",False)
c=s.ExecQuery("SELECT * FRom aa")
For i=0 To c.RowCount-1
c.Position=i
Dim p As Panel
p.Initialize("p")
ScrollView1.Panel.AddView(p,0,x,100%x,100%y)
x=x+42%y


p.LoadLayout("a")

Label1.Text=c.GetString("a")
Label1.Typeface=Typeface.LoadFromAssets("Mj_Shafigh.TTF")
Label1.Gravity=Gravity.CENTER
Label1.TextColor=Colors.Black
Label1.TextSize=25
Label1.Tag = c.GetInt("ID") 'Add
SetlineSacing(Label1,1.5,1.5)
Label1.Top=0dip
ScrollView1.Panel.Height=x
Next
End Sub


Sub Button1_Click

If (m.IsPlaying)Then

m.Pause

Button1.Text="play"

Else

m.Play

Button1.Text="puse"

End If

End Sub

Sub Label1_Click
	Dim lb1 As Label
	lb1 = Sender
	lb1.TextColor = Colors.Red
End Sub




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

فقط اون خطی که نوشتم Add باید به جای "ID" اسم همون فیلدی که شماره عنوان ها توش قرار داره بدی

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

فقط اون خطی که نوشتم Add باید به جای "ID" اسم همون فیلدی که شماره عنوان ها توش قرار داره بدی

دستت درنکنه فقط ی مششکلی داره، اونم اینکه مثلا من اگه لیبل 1رو کلیک کردم تغیر رنگ میکنه اما مثلا لیبل 2رو میزنم رنگ لیبل1به حالت اول بر نمیگرده.
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دستت درنکنه فقط ی مششکلی داره، اونم اینکه مثلا من اگه لیبل 1رو کلیک کردم تغیر رنگ میکنه اما مثلا لیبل 2رو میزنم رنگ لیبل1به حالت اول بر نمیگرده.

 

خواهش میکنم

دستورات لیبل رو با این عوض کن ببین درست میشه :

Dim lb1 As Label
	lb1 = Sender
	Label1.TextColor = Colors.Black
	lb1.TextColor = Colors.Red
لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب برادر توی رویداد کلیک لیبل 2 رنگ متن لیبل 1 رو تغییر بدید.

فکر نکنم کار خاصی بخواد.

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

خب برادر توی رویداد کلیک لیبل 2 رنگ متن لیبل 1 رو تغییر بدید.

فکر نکنم کار خاصی بخواد.

 

آقا مجید یکی دوتا نیست دکمه هاش که باحلقه ادد میکنه

من هرچی کد امتحان کردم نشد مگه اساتید بزرگوار کمک کنند

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

خب برادر توی رویداد کلیک لیبل 2 رنگ متن لیبل 1 رو تغییر بدید.

فکر نکنم کار خاصی بخواد.

نه شما منظورم رو متوجه نشدید در ضمن من لیبلم رو داخل حلقه فور انداختم.

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

گلوبال بنویس

dim x as boleaan = true

 

کلیک لیبل بنویس

if x =true then

lbl.textcolor = colors.red

x = false

end if

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

گلوبال بنویس

dim x as boleaan = true

کلیک لیبل بنویس

if x =true then

lbl.textcolor = colors.red

x = false

end if

والا من همین کارو کردم اما هیچ تغییری تو برنامه ام نشد.

ی نکته بگم من لیبل رو با توجه به دیتابیس انداختم تو حلقه for.

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

شرمنده داداش متوجه حلقه نبودم.

اول برو طرز استفاده از تگ و سندر رو یاد بگیر . اسونه !!

 

http://answercenter.ir/topic/2807-استفاده-از-tag-و-sender-در-multi-panel/

 

بعد میتونی با همین کد من کار کنی :)

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

مگه همین نیست ؟!

اسم ملغیرو تغییر دادی دگ ؟! x نذار یچی دگ بذار

آقا آنقدر مبتدی دیگه نیستم اره تغییر دادم
لینک ارسال
به اشتراک گذاری در سایت های دیگر

شرمنده داداش متوجه حلقه نبودم.

اول برو طرز استفاده از تگ و سندر رو یاد بگیر . اسونه !!

http://answercenter.ir/topic/2807-استفاده-از-tag-و-sender-در-multi-panel/

بعد میتونی با همین کد من کار کنی :)

اون آموزشم دیدم اون مال دیتا بیس هست که با استفاده از tagبگیره مقدار رو.

حالا تکلیف چیست؟

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

Sub Globals

''''''''''''''''''
dim colorlbl as bolean = true
'''''''''''''''''

Private ScrollView1 As ScrollView

Dim m As MediaPlayer

Private Label1 As Label
    
Private Panel1 As Panel
    
Dim c As Cursor
    
Dim s As SQL

Dim x As Int=1%y
Private Button1 As Button

End Sub


Sub SetlineSacing(Lbl As Label,add As Float,mult As Float)

Dim jo As JavaObject=Label1

jo.RunMethod("setLineSpacing",Array As Object(add,mult))

End Sub



Sub Activity_Create(FirstTime As Boolean)    
m.Initialize()

m.Load(File.DirAssets,"ashora.wma")

    Activity.LoadLayout("b")

If File.Exists(File.DirInternal,"2.db")=False Then

File.Copy(File.DirAssets,"2.db",File.DirInternal,"2.db")
End If

s.Initialize(File.DirInternal,"2.db",False)
c=s.ExecQuery("SELECT * FRom aa")
For i=0 To c.RowCount-1
c.Position=i
Dim p As Panel
p.Initialize("p")
ScrollView1.Panel.AddView(p,0,x,100%x,100%y)
x=x+42%y


p.LoadLayout("a")

Label1.Text=c.GetString("a")
Label1.Typeface=Typeface.LoadFromAssets("Mj_Shafigh.TTF")
Label1.Gravity=Gravity.CENTER
Label1.TextColor=Colors.Black
Label1.TextSize=25
''''''''''''''''''''''
label1.tag = i + 1
''''''''''''''''''''''
SetlineSacing(Label1,1.5,1.5)
Label1.Top=0dip
ScrollView1.Panel.Height=x
Next
End Sub


Sub Button1_Click

If (m.IsPlaying)Then

m.Pause

Button1.Text="play"

Else

m.Play

Button1.Text="puse"

End If

'''''''''''''''
sub label1_click 
dim y as label
y = sender
if colorlbl = true then
y.color = colors.red
colorlbl = false
end if

end sub

''''''''''''''''


End Sub

شاید خطای تایپی داشته باشم 

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

Sub Globals

''''''''''''''''''
dim colorlbl as bolean = true
'''''''''''''''''

Private ScrollView1 As ScrollView

Dim m As MediaPlayer

Private Label1 As Label
	
Private Panel1 As Panel
	
Dim c As Cursor
	
Dim s As SQL

Dim x As Int=1%y
Private Button1 As Button

End Sub


Sub SetlineSacing(Lbl As Label,add As Float,mult As Float)

Dim jo As JavaObject=Label1

jo.RunMethod("setLineSpacing",Array As Object(add,mult))

End Sub



Sub Activity_Create(FirstTime As Boolean)	
m.Initialize()

m.Load(File.DirAssets,"ashora.wma")

	Activity.LoadLayout("b")

If File.Exists(File.DirInternal,"2.db")=False Then

File.Copy(File.DirAssets,"2.db",File.DirInternal,"2.db")
End If

s.Initialize(File.DirInternal,"2.db",False)
c=s.ExecQuery("SELECT * FRom aa")
For i=0 To c.RowCount-1
c.Position=i
Dim p As Panel
p.Initialize("p")
ScrollView1.Panel.AddView(p,0,x,100%x,100%y)
x=x+42%y


p.LoadLayout("a")

Label1.Text=c.GetString("a")
Label1.Typeface=Typeface.LoadFromAssets("Mj_Shafigh.TTF")
Label1.Gravity=Gravity.CENTER
Label1.TextColor=Colors.Black
Label1.TextSize=25
''''''''''''''''''''''
label1.tag = i + 1
''''''''''''''''''''''
SetlineSacing(Label1,1.5,1.5)
Label1.Top=0dip
ScrollView1.Panel.Height=x
Next
End Sub


Sub Button1_Click

If (m.IsPlaying)Then

m.Pause

Button1.Text="play"

Else

m.Play

Button1.Text="puse"

End If

'''''''''''''''
sub label1_click 
dim y as label
y = sender
if colorlbl = true then
y.color = colors.red
colorlbl = false
end if

end sub

''''''''''''''''


End Sub
شاید خطای تایپی داشته باشم
امتحانش نکردم اما ممنون.
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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