calling button class in a form in vb.net -


i herewith develop application have created class calls button events(i.e. enable or visible)

public class classfrmload        dim btnadd new button      dim btnedit new button           private sub formload()            me.btnadd.visible = true          me.btnadd.enabled = true            me.btnedit.visible = true          me.btnedit.enabled = false        end sub    end class

i created button events class(classfrmload) way buttons should enabled , visible when each & every form loading.

there 6 buttons in forms (frm1, frm2 etc.,) btnadd, btnedit, btncancel etc., don't want display buttons(visible/enable) while loading form.

here question: how can call class(classfrmload) events alter (enable/visible) buttons positioned in forms(frm1, frm2, etc.,) , how buttons events in forms?

dear sergio,

thanks immediate response. missing , not expected, here complete code form including yours.

this code suggested classfrmload:

public class classfrmload        public shared sub formload(byref target form)            each ctl control in target.controls              if not typeof ctl button continue                dim btn button = directcast(ctl, button)                select case btn.name.tolower()                    case "btnadd"                      btn.visible = true                      btn.enabled = true                    case "btnsave"                      btn.visible = false                      btn.enabled = false                    case "btnedit"                      btn.visible = true                      btn.enabled = true                    case "btncancel"                      btn.visible = true                      btn.enabled = false                    case "btnclose"                      btn.visible = true                      btn.enabled = true                    case "btnupdate"                      btn.visible = false                      btn.enabled = false                    case "btnfind"                      btn.visible = false                      btn.enabled = false                        'and on              end select          next        end sub    end class

this code formload event:

 private sub frmcreate_unit_load(byval sender system.object, byval e system.eventargs) handles mybase.load            classfrmload.formload(me)              'display software , title of page          me.text = msgcap & " | " & " create unit"          me.lblcomp.text = compname            me.stbar_user.text = frmmain.stbar_user.text          me.stbar_userid.text = frmmain.stbar_userid.text          me.stbar_g_id.text = frmmain.stbar_g_id.text          me.stbar_g_no.text = frmmain.stbar_g_no.text                me.cbounit.visible = false          me.txtunit_long.visible = true            me.btnfind.visible = false          me.txtunit_id.enabled = false            me.btnadd.focus()        end sub

please me sort out one. thanks...

every form in winforms class instance, inherited form class. because of this, cannot make static references it's members class, given form instance. generic class won't cut either because you're after specific class members. take advantage of controls collection , check it's name , type. once caught, can cast control button , set it's visibility , access.

for this, should make small adjustments code:

public class classfrmload      public shared sub formload(byref target form)          each ctl control in target.controls             if not typeof ctl button continue             dim btn button = directcast(ctl, button)             select case btn.name.tolower()                 case "btnadd", "btnedit"                     btn.visible = true                     btn.enabled = true                     'and on             end select         next      end sub  end class 
  • changed formload visibility , access. should shared don't need create unnecessary instances of class
  • added parameter, passe by reference referrs target form. assure can use on class inherits form class
  • iterated controls collection , find candidate based on it's type , name
  • when found, cast button , access it's properties normally.

it's example, based on code.

you should call on every form's formload handler, so:

private sub form1_load(sender object, e eventargs) handles mybase.load     classfrmload.formload(me) end sub 

Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -