PDA

View Full Version : دسترسی به کنترل های اضافه شده بصورت دینامیک



h_assefi
شنبه 07 اردیبهشت 1392, 14:17 عصر
سلام دوستان
من داخل یک فرم که طراحی کردم یکسری کنترل هایی به صورت دینامیک بوجود آوردم اما نمیتونم از طریق لسمشون بهشون دسترسی داشته باشم تا بتونم شرط هایی که می خوام را اعمال کنم
کنترل ها :
CheckBox , TextBox
لطفا کمک کنید

pooya1072
یک شنبه 08 اردیبهشت 1392, 03:36 صبح
سلام
من درست منظور شما رو متوجه نشدم.شما وقتی یک کنترل دینامیک میسازی بلاخره براش یه اسم تعریف کردی که در نهایت اون رو Add می کنی به فرمت . پس توی این فرم به راحتی می تونی به اون کنترل دسترسی داشته باشی.
اگه منظورت دسترسی به رویداد های مربوط به اون کنترله که باید اون رو هم تعریف کنی (AddHandler)
در صورتی که می خوای توی فرم دیگه ای بهش دسترسی داشته باشی که می تونی اون رو public تعریف کنی .
اگر منظورت چیز دیگه ایه که یه مقدار بیشتر توضیح بده.

h_assefi
یک شنبه 08 اردیبهشت 1392, 09:35 صبح
سلام
ممنون که جواب دادی
من مشکلی با AddHandler ندارم و اون را میسازم
اما فقط برای دسترسی به اون کنترل ها توی فرمم مشکل دارم که شما میگی کاره مشکلی نیست و به راحتی میشه بهشون دسترسی داشته باشی
اگه امکانش هست بگید که چطوری میشه به کنترهای دینامیک توی فرم دسترسی پیدا کرد
البته این را هم باید بگم که من میخوام با زدن یک دیکه که توی قسمت Design طراحیش کردم به 3 کنترل که بصورت ددینامیک ساخته میشه دسترسی داشته باشم و Properties آنها را چک کنم
مثلا

if textbox1.text <> nothing and checkbox1.checked = true then
'Do something
end if

که اسم textbox و checkbox بصورت اتوماتیک به کنترل ها اختصاص داده میشه
ممنون میشم اگه راهنمایی کنید

sinaone1
یک شنبه 08 اردیبهشت 1392, 16:30 عصر
فکر کنم این کارتو راه بندازه

pooya1072
دوشنبه 09 اردیبهشت 1392, 06:10 صبح
سلام
ممنون که جواب دادی
من مشکلی با AddHandler ندارم و اون را میسازم
اما فقط برای دسترسی به اون کنترل ها توی فرمم مشکل دارم که شما میگی کاره مشکلی نیست و به راحتی میشه بهشون دسترسی داشته باشی
اگه امکانش هست بگید که چطوری میشه به کنترهای دینامیک توی فرم دسترسی پیدا کرد
البته این را هم باید بگم که من میخوام با زدن یک دیکه که توی قسمت Design طراحیش کردم به 3 کنترل که بصورت ددینامیک ساخته میشه دسترسی داشته باشم و Properties آنها را چک کنم
مثلا

if textbox1.text <> nothing and checkbox1.checked = true then
'Do something
end if

که اسم textbox و checkbox بصورت اتوماتیک به کنترل ها اختصاص داده میشه
ممنون میشم اگه راهنمایی کنید

یه فرم بساز یه button هم توش بزار :

Public Class Form1
Dim TextBox1 As TextBox
Dim CheckBox1 As CheckBox
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "ok" And CheckBox1.Checked = True Then
MsgBox("Yes")
Else
MsgBox("No")
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1 = New TextBox
CheckBox1 = New CheckBox
CheckBox1.Text = "This is a checkBox"
TextBox1.Location = New Point(10, 50)
CheckBox1.Location = New Point(10, 20)
Me.Controls.Add(TextBox1)
Me.Controls.Add(CheckBox1)
End Sub
End Class