PDA

View Full Version : سوال: تغییر رنگ تمام کنترلها روی focus با یک دستور



مرتضی حمزه ئی
شنبه 24 مرداد 1388, 10:11 صبح
با سلام خدمت اساتید
من داخل فرمم یک تعدادی text و combo دارم میخوام به ازای gotfocus رنگ اون کنترل عوض بشه که معلوم باشه الام مکان نما کجاست واگر خارج شد دوباره رنگ برگردد به حالت قبلی روی lostfocus ولی نمیخوام واسه همه کنترلها یکی یکی بنویسم آیا میشه با یک دستور مشخص کنیم که به ازای focus این اتفاق بیفتد وبه ازای lostfocus این اتفاق
ممنون میشم کمک کنید

mohammadi4net
شنبه 24 مرداد 1388, 12:15 عصر
دستوراتتو داخل یک روال بنویس و هندل تمام آبجکت هایی رو که می خوای استفاده کنی روی انو فعال کن بعد برای اینکه بفهمی کدوم کنترل روال رو اجرا کرده Sender رو چک کن.

Private Sub Object_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter, TextBox2.Enter, TextBox3.Enter

Hossis
شنبه 24 مرداد 1388, 15:26 عصر
یک راه دیگر هم وچود دارد و آن این که در رویداد GetFoucs و LostFocuse یک کنترل ، کد تغییر رنگ را بنویسی






Sub text1_Gofocuse(...)
text1.backcolor=blue
end sub
sub Text1_lostFocus(...)
text1.backcolor=black
end sub



[/ldeft]

و بعد در رویداد BackcolorChanged مربوط به text1 ، رنگ بقیه کنترل ها را با کترل مزبور تغییر می دهید.




[left]
sub text1_backcolorChanged(sender,me)handles ...
Dim Bg as color =text1.backcolor
Text2.backcolor=bg
combo1.backcolor=bg
.....
end sub

مرتضی حمزه ئی
یک شنبه 25 مرداد 1388, 11:42 صبح
با تشکر ازجوابتون من جواب دوم منظورم نبود چون اون واسه هر text باید جداگانه بنویسم که کارسختیه ولی جواب عزیز اولی را اگه دقیقتر با مثال روی یک textbox1 بگی ممنون میشم