PDA

View Full Version : پيدا كردن تكست باكس در يك فرم و ....



sh2007
سه شنبه 22 تیر 1389, 14:02 عصر
دوستان سلام
روي يه فرم تقريبا حدود 10 تا تكست باكس دارم چطور مي تونم توي يه ساب روتين بگويم كه هر تكست باكسي رو كه Enabled آن False مي باشد بك كلر آن مثلا زرد باشد

ممنون

nasim bahari
سه شنبه 22 تیر 1389, 14:07 عصر
سلام........

اگه txt ها رو به صورت آرایه تعریف کنی..............

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

اگه منظورتان این نبود...بیشتر توضیح بده می خوایی چیکار کنی.

Hossis
سه شنبه 22 تیر 1389, 14:21 عصر
for each ctl as control In me.controls
if typeof(ctl) is textbox and ctl.enabled=false then
ctl.backcolor=lightyellow
end if
next

mohammad.moosaei
سه شنبه 22 تیر 1389, 15:20 عصر
با سلام :

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



Private Sub TBoxCheck_EnabledChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles TextBox1.EnabledChanged, TextBox2.EnabledChanged, TextBox3.EnabledChanged

If sender.Enabled = False Then sender.BackColor = Color.LightYellow

End Sub

من این کد رو برای سه TextBox نوشتم اما شما کافیه که بعد از کلمه Handles مثل من هر چه قدر textbox خواستین اضافه کنید. فقط یادتون باشه وقتی اضافه می کنید رویداد EnabledChanged رو به کار ببرید :


Handles TextBox1.EnabledChanged, ... , TextBox(n).EnabledChanged

Mani_rf
سه شنبه 22 تیر 1389, 16:42 عصر
for each ctl as control In me.controls
if typeof(ctl) is textbox and ctl.enabled=false then
ctl.backcolor=lightyellow
end if
next


از این روش استفاده کن. این روش درست این کار است.

ricky22
سه شنبه 22 تیر 1389, 17:30 عصر
از این روش استفاده کن. این روش درست این کار است.
این دوست می خواهد هر زمان focus روی یک textbox رفت رنگ پست ضمینه عوض شه.
اگه بخوایم از این روش استفاده کنیم باید کد رو در timer بنویسیم.
به نظرم روش اقای mohammad.moosaei بهتره.

mohammad.moosaei
سه شنبه 22 تیر 1389, 22:52 عصر
اگه موضوع اون جوری باشه که ricky22 گفت پس این کد دیگه کامل کمکتون میکنه :


Private Sub TboxFocus(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
sender.BackColor = Color.LightYellow
End Sub

Private Sub TboxLeave(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles TextBox1.LostFocus, TextBox2.LostFocus, TextBox3.LostFocus
sender.BackColor = Color.White
End Sub

sh2007
یک شنبه 27 تیر 1389, 12:07 عصر
دوستان از كمك همتون ممنون هستم دستتون درد نكنه