vb.net添加子过程 vb调用子过程

vb.net 怎样正确建立父子窗体?(容器问题)

要确立父子窗体,那子窗体必须继承父窗体。实例化子窗体对象调用Show()方法。

创新互联建站服务项目包括都匀网站建设、都匀网站制作、都匀网页制作以及都匀网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,都匀网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到都匀省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

希望采纳

VB.NET中怎么给TreeView的父节点添加相对应的子节点?求助各位!

Public Class Form1

Dim node(5) As TreeNode

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

  Dim root As TreeNode

  With TreeView1

      .Nodes.Clear()

      .ShowLines = True

      .ShowPlusMinus = True

      .ShowRootLines = True

      root = .Nodes.Add("仓库") '增加根节点

      .SelectedNode = root  '在此根节点下添加子节点

      For i = 1 To 6

          node(i - 1) = .SelectedNode.Nodes.Add(i.ToString  "号仓库")

      Next

      .ExpandAll()

  End With

End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

  If Val(TextBox1.Text) = 100 And Val(TextBox1.Text) = 699 Then

      node(Val(TextBox1.Text) \ 100 - 1).Nodes.Add(TextBox1.Text)

  End If

End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

  If Val(TextBox2.Text) = 1000000 And Val(TextBox2.Text) = 6999999 Then

      For Each child As TreeNode In node(Val(TextBox2.Text) \ 1000000 - 1).Nodes

          If child.Text = TextBox2.Text.Substring(1, 3) Then

              child.Nodes.Add(TextBox2.Text)

              Exit For

          End If

      Next

  End If

End Sub

End Class

如何给VB.NET窗体添加子窗体?

直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:

Dim NewMDIChild As New Form2

NewMDIChild.MdiParent = Me

NewMDIChild.Show()

Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)

If MDIForm.MdiChildren.Length  1 Then

'如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例

Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

MDIChildFrm.MdiParent = MDIForm '指定父窗体

MDIChildFrm.Show() '打开窗体

Exit Sub

Else

Dim x As Integer

Dim frmyn As Boolean

For x = 0 To (MDIForm.MdiChildren.Length) - 1

Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)

If tempChild.Name = MDIChildFormName Then

'检测到有该MDI子窗体,设为激活 并退出循环

frmyn = True

tempChild.BringToFront()

Exit For

Else

frmyn = False

End If

Next

If Not frmyn Then

'在打开的窗体中没检测到则新建

Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

MDIChildFrm.MdiParent = MDIForm '指定父窗体

MDIChildFrm.Show() '打开窗体

End If

End If

End Sub

VB.net子程序传参的困惑(ByVal 和Byref 没有区别的时候是为什么??)

这里觉得没有区别,是因为在SubAddRow 里,我们并没有试图改变形参 t 本身,我们所做的改变都是 t.Rows,我们为 t 添加了行。

对于形参和实参而言,在ByVal 模式下 temTable 和 t 指向了同一块内存,但是这两个变量本身并不在同一个地址上。在改变 t.Rows时,由于二者都指向同一块内存,所以更改了t.Rows里的行数据;

在ByRef模式下,temTable 和 t 就是同一块内存,二者在一个地址上,肯定也就指向同一块内存,在改变 t.Rows时,就是对 temTable 的改变。

在此举个例子:假设我们需要将 temTable 清空,那么我们还是以 t 作为形参,我们可以这样写:

' ByVal 方式传参

Private Sub ClearRow(ByVal t As DataTable)

t = Nothing

End Sub

' ByRef 方式传参

Private Sub ClearRow(ByRef t As DataTable)

t = Nothing

End Sub

' 并且这样调用

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

ClearRow(temTable)

DataGridView1.DataSource = temTable

End Sub

这样,就是有区别的了。ByVal方式时,虽然 t 被置为 Nothing ,但是由于 t 和 temTable 并不是一个变量,并不在同一个地址上,所以 temTable 没有变。

而 ByRef 时,t 和 temTable 就是同一个变量,在同一个地址上,t = Nothing的同时,temTable 也就是Nothing了。

如果这个解释还不清楚,可以追问。


分享文章:vb.net添加子过程 vb调用子过程
本文链接:http://myzitong.com/article/hgdhis.html