منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الكتابة في التيكس بوكس بالكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم إخواني

هل ممكن الكتابة في التيكس بوكس
بدون أن أعلم مكان تواجده
أعرف فقط إسمه على الفورم  "TextBox1"

هذا الكود يشتغل عند تواجد التيكس في الفورم
لكن عند وضعه في  Panel لا يشتغل
هل هناك أي فكرة إخواني

(لا أعلم إسم البانيل)

كود :
       Dim txt As TextBox = Me.Controls("TextBox1")
       txt.Text = "123"


استبدل Me باسم البنل .
(01-08-20, 09:45 PM)asemshahen5 كتب : [ -> ]استبدل Me باسم البنل .

شكرا أخي لكن كما أكدت أنه (لا أعلم إسم البانيل)
اسم البانيل يتغير
السلام عليكم اخي Sniper
واضحى مبارك
نعرف متغير من نوع TextBox ثم نسند له النص اينما كان سيتم تعبئة النص داخله

كود :
Dim kk As TextBox = TextBox1
       kk.Text = "hello"
السلام عليكم اخي 
هل جربت :

كود :
Dim txt As TextBox = Me.Controls.OfType(Of Panel).First().Controls("TextBox2")

        txt.Text = "123"

هذا يبحث في جميع كونترولات الفورم عن التكست بوكس


كود :
        Dim txt As TextBox
        For Each p As Control In Me.Controls
            txt = p.Controls("TextBox2")
            If txt IsNot Nothing Then Exit For
        Next

        txt.Text = "123"
(01-08-20, 11:02 PM)ابراهيم ايبو كتب : [ -> ]
(01-08-20, 11:02 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي Sniper
واضحى مبارك
نعرف متغير من نوع TextBox ثم نسند له النص اينما كان سيتم تعبئة النص داخله

كود :
Dim kk As TextBox = TextBox1
       kk.Text = "hello"
أخي ابراهيم شكرا لك
تقبل الله أضحيتك 
هاد الكود جميل و مختصر و ياريته يعمل
لكن لا يمكن جعل TextBox1 الهدف في متغير String 
هدا هو هدفي الأكبر

أخي محمود شكرا لك على المشاركة
الكود الأول مختصر و رائع يمكننا أن نستفيد منه جزاك الله خيرا
لكنه يشتغل فقط عند وضع التيكس بوكس في آخر Panel
كود :
Dim txt As TextBox = Me.Controls.OfType(Of Panel).First().Controls("TextBox2")

       txt.Text = "123"

الكود التاني شغال الحمد لله 
تبقى سلبياته هو ثقل البرنامج قليلا إذا كان يحتوي على مئات الأدواة
كود :
    Dim txt As TextBox
       For Each p As Control In Me.Controls
           txt = p.Controls("TextBox2")
           If txt IsNot Nothing Then Exit For
       Next

       txt.Text = "123"

هذه فقط ملاحظات أخي
شكرا كثيرا على الأكواد الجميلة اللتي سأضيفها لخزينتي
كود :
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim txt As TextBox = FindControls(Me, "TextBox1").FirstOrDefault
        If txt IsNot Nothing Then
            txt.Text = "123"
        End If
    End Sub


    Private Function FindControls(ByVal c As Control, ByVal n As String) As IEnumerable(Of Control)
        Dim cs = c.Controls.Cast(Of Control)()
        Return cs.SelectMany(Function(ctrl) FindControls(ctrl, n)).Concat(cs).Where(Function(x) x.Name.Equals(n))
    End Function


End Class
كود :
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Array.ForEach(FindControls(Me, "TextBox1").OfType(Of TextBox). _
                      ToArray, Sub(txt As TextBox) txt.Text = "123")
    End Sub


    Private Function FindControls(c As Control, n As String) As IEnumerable(Of Control)
        Dim cs = c.Controls.Cast(Of Control)()
        Return cs.SelectMany(Function(ctrl) FindControls(ctrl, n)). _
               Concat(cs).Where(Function(x) x.Name.Equals(n))
    End Function

End Class
شكرا كثيرا
الأكواد شغالة جيدا

شكرا شكرا شكرا

جزاك الله خير أخي مبارك و جميع الإخوة الكرام