开发者

vb.net controls in separate files

Short version: VB.Net Windows forms feature controls that are often dragged from the toolbox onto the form. The code for the control goes right into the form. Usually this is great, but is it possible to write the code for a UI control (like a panel) into a separate file which can then be imported or otherwise included into the main Form Class?

Context (a.k.a. long version): I have a form with an unchanging column of navigation buttons on the left hand side. The rest of the form is taken up by different panels, which in turn have different controls of their own. Clicking the different buttons on the left should cause these different panels to appear (clicking button "A" brings up panel "A"; button "B" brings up panel "B", etc.), but the left-hand menu should stay unchanged.

I'm having a hard time implementing this design in an elegant way in VB.Net. If I make each panel a separate Form, I have to duplicate the code that builds the unchanging left-hand menu in every file, which is terrible. I tried using inherited forms so the separate panels would inherit the left-hand menu from a master form, but that means each click on the menu sprouts the new form in a new window, and although the left-hand menu is inherited, the menu that I clicked and the identical-looking menu in the new window are not the same objects in memory and have no knowledge of each other.

I just want one window with central content that changes based on what you click on the left-hand side. A solution to this would be for the panels to be just that - panels - and not separate forms as I'm currently doing it. But this gets messy organizationally because the code for all of 开发者_开发技巧the panels has to be in the one massive master file. Hence the short form of my question (see above): How can I code a panel in a separate file and then bring it into the fold of the main form?


It sounds to me like you want to use usercontrols. Create a usercontrol for each of the four things you want and then add those to a panel, making each one visible or invisible according to which button was pressed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜