السلام عليكم
المطلوب تحويل ال text1 ل texti
اي حرف الـ i هو متحول
يعني مثلا
عندما اعطيه امر ان ال i=1000
يعطي امر باظهار تكست 1000
و كل ذلك بسطر واحد عوضا عن الف سطر
السلام عليكم...
يمكنك الوصول إلى المكونات بالاسم (كـ String) عن طريق الخاصية Controls التابعة للـ Form. مثلاً:
كود :
I = 1000
MsgBox Me.Controls([color=#800080]"Text" & CStr(I)[/color]).Text
و إذا كان المكون جزءاً من مصفوفة مكونات (Control Array) فإنه يمكن الوصول إليه بتحديد رقمه في المصفوفة (الـ Index) بعد قوس الخاصية Controls. مثلاً إذا كانت لدينا مصفوفة مكونات مربعات نص اسمها txtMyData1 تصم 10 مربعات (0 - 9) و مصفوفة مكونات أخرى باسم txtMyData100 و بها 20 مربع نص (0 - 19) فإنه يمكننا الوصول إلى مربع النص رقم 12 في المصفوفة الثانية txtMyData100 كالتالي:
كود :
I = 100
S = 12
MsgBox Me.Controls([color=#800080]"txtMyData" & CStr(I)[/color])[color=#0000CD](S)[/color].Text
نرجو الاستفادة و السلام.
asto كتب :السلام عليكم
المطلوب تحويل ال text1 ل texti
اي حرف الـ i هو متحول
يعني مثلا
عندما اعطيه امر ان ال i=1000
يعطي امر باظهار تكست 1000
و كل ذلك بسطر واحد عوضا عن الف سطر
اخي العزيز يمكنك عمل ذلك عن طريق عمل مصفوفة من التيكست بوكس والتي تدعى (Control Array) وعن طريق خاصية الIndex يمكنك الوصول الى اي تيكست بوكس تريد
ويمكنك عمل المصفوفة عن طريق اضافة تيكست بوكس للفورم ثم انسخ هذه التيكست بوكس واعمل لها لصق على نفس الصفحة ستظهر رسالة تسئلك بهل تريد عمل مصفوفة من هذه الادات فقط اجب بنعم في هذه الحالة سوف يكون لديك تيكس بوكس عدد 2 يحملون نفس الاسم ولكن يختلفون في الرقم الموجود بالخاصية Index وبتكرار هذه العملية تستطيع الحصول على مصفوفة من التيكست بوكس بالعدد الذي تريده وللوصول الى اي تيكست بوكس تريد ماعليك الى استدعائها بالطريقة التالية
كود :
dim I as integer
I=3
text(I).text="AAAA"
VB_Coder كتب :السلام عليكم
- ضع هذا الكود في زر :
كود :
Dim Ctrl As Control
Dim I As Integer
I = 1000
For Each Ctrl In Controls
If TypeOf Ctrl Is TextBox And Ctrl.Name = "Text" & I Then
MsgBox Ctrl.Text
Exit Sub
End If
Next
- تحياتي .
بس انا اقصد ال visible للتكست المختار هي كانت false اريد جعلها true
السلام عليكم
- إستخدم الكود الرائع لأخي ناجي إبراهيم :
كود :
Private Sub Command1_Click()
Dim I As Integer
I = 1000
Controls("Text" & CStr(I)).Visible = True
MsgBox Me.Controls("Text" & CStr(I)).Text
End Sub
- تحياتي .
[b][SIZE=5][SIZE=4]السلام عليكم
حسب ما فهمت من موضوعك أنك تريد أن تظهر textbox معين بإعطاء رقمه في أداة نص أخرى، وكلما غيرت الرقم يظهر فقط textbox المطلوب ويختفي الذي كان قد ظهر قبله، فإذا كان الحال كذلك فأقترح عليك أن تضع على الفورم مجموعة من أدوات النص Text2(0) ,text2(1),text2(3) اجعل الخاصية لهذه الأدوات visible=False وضع زر Command1 وأداة TextBox1لإدخال الرقم وتكتب هذا الكود المبسط جدا
كود :
[align=left][SIZE=4]Dim I, a
Private Sub Command1_Click()
Text2(a).Visible = False 'هذا لإخفاء التكست الظاهر
I = Val(Text1) 'لإدخال رقم التكست الذي تريد إظهاره
Text2(I).Visible = True '
Text2(I) = I 'لإظهار رقم التكست الذي طلبته
a = Val(Text2(I)) ' حفظ رقم التكست الظاهر
End Sub[/SIZE][/SIZE][/SIZE][/b]
[/align]