Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.Net中获取菜单中单个按钮的高度_Vb.net_Height_Menustrip - Fatal编程技术网

如何在VB.Net中获取菜单中单个按钮的高度

如何在VB.Net中获取菜单中单个按钮的高度,vb.net,height,menustrip,Vb.net,Height,Menustrip,我有一个菜单条,可以添加/删除按钮。我希望能够得到每个按钮的高度,并将它们相加。这可能吗?我将此示例代码用作指南: 消息框给出MenuStrip1中每个ToolStripItem的文本,后跟括号中ToolStripItem的高度。消息框底部包含MenuStrip1中所有控件的总高度 这就是你要找的吗 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim

我有一个菜单条,可以添加/删除按钮。我希望能够得到每个按钮的高度,并将它们相加。这可能吗?

我将此示例代码用作指南:

消息框给出MenuStrip1中每个ToolStripItem的文本,后跟括号中ToolStripItem的高度。消息框底部包含MenuStrip1中所有控件的总高度

这就是你要找的吗

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim total As Integer
    Dim menues As New List(Of ToolStripItem)

    For Each t As ToolStripItem In MenuStrip1.Items
        GetMenues(t, menues)
    Next

    Dim msg As New StringBuilder
    For Each t As ToolStripItem In menues
        msg.Append(t.Text)
        msg.Append(" (")
        msg.Append(t.Height)
        msg.AppendLine(")")

        total += t.Height
    Next
    msg.AppendLine("")
    msg.AppendLine("")
    msg.Append("Total Height: ")
    msg.Append(total)

    MessageBox.Show(msg.ToString)
End Sub

Public Sub GetMenues(ByVal Current As ToolStripItem, ByRef menues As List(Of ToolStripItem))
    menues.Add(Current)
    If TypeOf (Current) Is ToolStripMenuItem Then
        For Each menu As ToolStripItem In DirectCast(Current, ToolStripMenuItem).DropDownItems
            GetMenues(menu, menues)
        Next
    End If
End Sub