You could just call tvw_NodeMouseClick() directly, no point in trying to get the event to fire. But that's a bit annoying because of the arguments. Simply refactor the code and break out the parts you want to re-use:
Private Sub NodeSelect(pNode As TreeNode)
Dim nodeName As String = pNode.Name ''get the name of the node
Select Case nodeName.ToLower
Case "gen"
pnlGeneral.Visible = True
pnlOrigin.Visible = False
Case "ogn"
pnlGeneral.Visible = False
pnlOrigin.Visible = True
Case Else
''do nothing
End Select
End Sub
Private Sub tvw_NodeMouseClick(sender As Object, e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles tvw.NodeMouseClick
NodeSelect(e.Node)
End Sub
Now it is trivial:
Private Sub frm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
With tvw
Dim node = .Nodes.Add("gen", "General", "gen", "gen")
.Nodes.Add("ogn", "Origin", "ogn", "ogn")
.SelectedNode = node
NodeSelect(node)
End With
End Sub