PDA

View Full Version : سوال: علت اشتباه هنگام استفاده از For Each Textbox In Me ...



SlowCode
سه شنبه 31 مرداد 1391, 21:06 عصر
سلام دوستان
توي كد زير اصولا بايد خاصيت Enabled فقط تكست باكس ها فعال بشه درسته؟ اما چرا اين خاصيت واسه همه كنترلها اعمال ميشه؟
For Each Textbox In Me
Textbox.Enabled = True
Next

اشكال از وي بيه؟

ASedJavad
سه شنبه 31 مرداد 1391, 21:52 عصر
سلام
اشکال از کد شماست
کد شما دقیقا مثل کد زیره
شما چه انتظاری ازش داری؟

For Each i In Me
i.Enabled = True
Next

SlowCode
سه شنبه 31 مرداد 1391, 21:56 عصر
خوب پس چطوري بنويسم؟

butterfly8528
سه شنبه 31 مرداد 1391, 22:02 عصر
سلام دوست عزیز .
شما باید قبل از فعال کردن کنترل ها نوع آنها رو بررسی کنید .
Dim txt As Control
For Each txt In Me
If TypeName(txt) = "TextBox" Then txt.Enabled = True
Next
موفق باشید :لبخندساده:.

MohammadGh2011
سه شنبه 31 مرداد 1391, 22:04 عصر
سلام دوستان
توي كد زير اصولا بايد خاصيت Enabled فقط تكست باكس ها فعال بشه درسته؟ اما چرا اين خاصيت واسه همه كنترلها اعمال ميشه؟
For Each Textbox In Me
Textbox.Enabled = True
Next

اشكال از وي بيه؟
سلام عليکم
کدتون اشکال داره اگه شما کدتون رو اينطوري هم بنويسيد باز همون عملي اعمال ميشه که خودتون هم فرموديد:
For Each dfdf In Me
dfdf.Enabled = True
Next
شما بايد اينطوري کدتون رو بنويسيد تا اونطوري که ميخوايد اعمال بشه:
Dim textbox As Control
For Each textbox In Me.Controls
If TypeOf textbox Is textbox Then textbox.Enabled = False
Next



موفق باشيد

ASedJavad
سه شنبه 31 مرداد 1391, 22:08 عصر
این هم یه روش غیراستاندارد:
Dim i As TextBox
On Error GoTo 10
For Each i In Me
i.Enabled = False
20 Next
Exit Sub
10
Resume 20

مهرداد صفا
سه شنبه 31 مرداد 1391, 22:09 عصر
سلام دوستان
سلام

توي كد زير اصولا بايد خاصيت Enabled فقط تكست باكس ها فعال بشه درسته؟
نه فقط.

اما چرا اين خاصيت واسه همه كنترلها اعمال ميشه؟
به دلیل اینکه حلقه شما یک مجموعه از Control است و مقدار TextBox همان کنترلهای روی فرم هستند.


For Each Textbox In Me
Textbox.Enabled = True
Next

اشكال از وي بيه؟
کد را به این صورت تغییر دهید تا اشکالی نباشد.

Dim text As Control
For Each text In Me
If TypeName(text) = "TextBox" Then
'MsgBox text.text, , text.Name
text.Enabled = True
End If
Next

شاد و پیروز باشید؟