PDA

View Full Version : یافتن اسامی فرمهای سیستم و یا یافتن اسامی buttomn های یک tabpage



Namazi1343
جمعه 15 آذر 1392, 02:39 صبح
سلام. چطور میشه اسامی همه کلیدهای موجود در یک tab Page یا اسامی همه فرمهای برنامه را پیدا کرد؟

behrooz69
جمعه 15 آذر 1392, 04:37 صبح
سلام با نوشتن اسم فرمش و زدن . می تونی به اجزای صفحت دسترسی پیدا کنی . مثلا من تو کد پایین میام اسم کاربری که وارد شده رو میریزم تو Lable خودم.
LblUser.Text = FrmLoggin.TxtUsername.Text()

یا علی

Namazi1343
جمعه 15 آذر 1392, 08:14 صبح
از پاسختون ممنونم اما مساله من همون پیدا کردن اسم فرم هاست. میخوام اسامی همه فرمهای برنامه رو بریزم مثلا تو یه جدول بدون اینکه بخوام یکی یکی مستقیما بنویسمشون

MOR_MS
جمعه 15 آذر 1392, 17:42 عصر
با سلام
من با یان روش هم اسم و هم تکس فرمها را بدست میارم البته در برنامه خودم به این صورته
Public Class form_namlist
Property ProgramID As Integer
Property programNameE As String
Property programNameF As String
End Class

بعد در رویداد کلیک یک باتون

Try
Dim list_form As New List(Of form_namlist)
list_form.Clear()
Dim asm = System.Reflection.Assembly.GetExecutingAssembly
Dim myTypes As Type() = asm.GetTypes()
Dim non As Integer = -1
For Each t As Type In myTypes
Dim frm As Form
If t.IsSubclassOf(GetType(System.Windows.Forms.Form)) Then 'AndAlso t.Name <> "PrintOptions" Then

frm = CType(Activator.CreateInstance(t), Form)
If frm.Tag <> 1 Then
non += 1
list_form.Add(New form_namlist With {.ProgramID = non + 1, .programNameE = frm.Name, .programNameF = frm.Text})
End If

End If
Next
Me.DataGridView1.DataSource = list_form
Catch ex As Exception

End Try
اما برای قسمت دوم که اسامی کلیدها (باتنها) را خودم هم نیاز دارم ولی نمیدونم چطوره اگه موفق شدی یا اگه دوستان دیگه بلدن خواهش میکنم کدشو بزارن
اگه بشه بعد از بدست اوردن نام فرمها کدی باشه از بااستفاده از لیست نام فرمها بیاد یکسری اسامی باتونها را توی یک دیتا گرید نشان بده عالی میشود

Namazi1343
شنبه 16 آذر 1392, 02:34 صبح
سلام. دستون درد نکنه. مشکل حل شد. برای باتونها می تونید از کد زیر استفاده کنید


Dim Ctr As Control

For Each Ctr In sender.Controls

If TypeName(Ctr) = "Button" Then

Ctr.Enabled = False

End If

Next