PDA

View Full Version : چطور میتونم باتون های هر فرم پروژه رو لیست کنم



rezaei manesh
چهارشنبه 12 بهمن 1384, 11:01 صبح
چطور میتونم باتون های هر فرم پروژه رو لیست کنم

من می خوام یه کلاس درست کنم که باتون های هر پروژه رو پیدا کنم
؟؟؟

habedijoo
چهارشنبه 12 بهمن 1384, 11:13 صبح
Dim Temp As String
Dim Ctr As Control

For Each Ctr In Me.Controls
If TypeName(Ctr) = "Button" Then
Temp += Ctr.Name + ControlChars.CrLf
End If
Next

MsgBox(Temp)

MMAASS
چهارشنبه 12 بهمن 1384, 12:06 عصر
سلام دوست عزیز
منظورت از "چطوری می تونم باتون های هر فرم پروژه رو لیست کنم" چیه؟

rezaei manesh
چهارشنبه 12 بهمن 1384, 12:28 عصر
سلام
خوب این کد شما رو من با یه کمی تغییر به نتیجه رسوندم انم این بو د که اگه باتون ها روی مثلاً گروپ باکس باشه این جواب نمیده اما حالا مشکل اصلی اینجاست که این در صورتی خوب که یا تو خود فرم باشی یا اسم فرم رو داشته باشی
اما من می خوام این کار رو برای کل فرم های پروژم انجام بدم یعنی چطور این جا باتون هر فرم رو پیدا می کنه حالا من قبل این باید فرم های پروژه جاریم رو پیدا کنم و بعد اونا رو تک تک توی ان حلقه ها بذارم
اونو چکار کنم؟

من می خوام کل پروژه جستجو بشه و برای هر فرم آون دکمه های اون رو برام نشون بده تا با این روش بتونم سطح دسترسی برای کاربر درست کنم

habedijoo
چهارشنبه 12 بهمن 1384, 13:24 عصر
قبل از هر چیزی کد تغییر یافته رو بزار ببینم چه تغییری دادی . ما هم یاد بگیریم .

rezaei manesh
شنبه 15 بهمن 1384, 08:19 صبح
سلام
همان طور که گفتم با یه کم تغیر که خیلی جزئی بود برای همون من ایجا نذاشتم اما حالا می زارم این کد برای گروپ باکس اون هم فقط یک گروپ باکس اگه به خواهید این رو کلی کنید باید برای هر شیء کلیه زیر مجموعه های اون رو هم چک کنید که من نیاز نداشتم اینم کد:
For Each Ctr In Me.Controls
If TypeName(Ctr) = "GroupBox" Then
For Each Ctr1 In Ctr.Controls
If TypeName(Ctr1) = "Button" Then
Temp1 += Ctr1.Name + ControlChars.Lf
End If
Next
ElseIf TypeName(Ctr) = "Button" Then
Temp1 += Ctr.Name + ControlChars.CrLf
End If
Next
اما مشکل من هنوز حل نشده؟؟؟؟

مطهر
شنبه 15 بهمن 1384, 10:08 صبح
فکر کنم این مشکل را حل کنه

Sub AllControl(ByVal parent As Control)
For Each ctrl As Control In parent.Controls
' MessageBox.Show(ctrl.Name)
If TypeOf ctrl Is Button Then
MessageBox.Show(ctrl.Name)
End If
If ctrl.HasChildren Then
AllControl(ctrl)
End If
Next
End Sub


AllControl(Me)