PDA

View Full Version : یک پروسیجر کوچک



regbyte
سه شنبه 20 فروردین 1387, 19:15 عصر
من یه قطعه کد دارم که می خوام اونو بصورت یک پروسیجر در ماژول اصلی برنامم بذارم تا از تمام فرمهای دیگم بهش دسترسی داشته باشم:



ForEach ctrl As Control In groupPanel1.Controls
SelectCase ctrl.GetType.ToString
CaseGetType(TextBox).ToString
tbMain = ctrl
AddHandler tbMain.TextChanged, AddressOf stateEventHandler
CaseGetType(CheckBox).ToString
chkMain = ctrl
AddHandler chkMain.CheckedChanged, AddressOf stateEventHandler
EndSelect
Next


در پروسیجر باید groupPanel1 و stateEventHandler بصورت آرگومان داده شوند:

publicSub mActiveApplyBtn(ByVal gp As GroupPanel , ??? )

تمام فرمهام :



PrivateSub stateEventHandler(ByVal sender AsObject, ByVal e As EventArgs)
IfNot btnSave.Enabled Then btnSave.Enabled = True
EndSub


رو دارن.

stateEventHandler رو چه چوری باید تعریف کنم؟

لطفا راهنمایی کنید.

regbyte
پنج شنبه 22 فروردین 1387, 09:53 صبح
کسی نمی دونه؟

Dariuosh
پنج شنبه 22 فروردین 1387, 10:31 صبح
به نظرم یه ذره سوالت زیادی گنگه
ولی فک کنم اگه یه فرم پایه درست کنی و این تیکه کد مورد نظرت رو توش بنویسی و بقیه فرمهاتو از اون به ارث ببری مشکلت حل شه

amirsajjadi
پنج شنبه 22 فروردین 1387, 13:55 عصر
منظورتون همینه ؟

Public Sub a(ByVal groupPanel1 As GroupBox)
Dim tbMain As TextBox, chkMain As CheckBox
For Each ctrl As Control In groupPanel1.Controls
Select Case (ctrl.GetType.ToString)
Case GetType(TextBox).ToString()
tbMain = ctrl
AddHandler tbMain.TextChanged, AddressOf stateEventHandler
Case GetType(CheckBox).ToString()
chkMain = ctrl
AddHandler chkMain.CheckedChanged, AddressOf stateEventHandler
End Select
Next
End Sub

Private Sub stateEventHandler(ByVal sender As Object, ByVal e As EventArgs)
MsgBox(sender.ToString)
If Not sender.Enabled Then sender.Enabled = True
End Sub