Vb.net visualbasic中的列表框

Vb.net visualbasic中的列表框,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我有一个任务,用户将在列表框中输入数字。当用户输入完数字后,它将计算平均值和标准偏差。(我们的教授不希望我们使用内置的标准偏差函数)程序将有一个上下文菜单,这些是创建菜单的指南:您必须创建一个名为SetMenu的子程序。它用于根据列表的内容启用和禁用上下文菜单。当列表为空时,将禁用清除。当列表中至少有一个数字时,将启用清除。未选择任何内容时,将禁用删除项目。选择某项后,将启用“删除项”。 这就是我需要帮助的地方,创建子程序 这是我的密码: Option Strict On Public Clas

我有一个任务,用户将在列表框中输入数字。当用户输入完数字后,它将计算平均值和标准偏差。(我们的教授不希望我们使用内置的标准偏差函数)程序将有一个上下文菜单,这些是创建菜单的指南:您必须创建一个名为SetMenu的子程序。它用于根据列表的内容启用和禁用上下文菜单。当列表为空时,将禁用清除。当列表中至少有一个数字时,将启用清除。未选择任何内容时,将禁用删除项目。选择某项后,将启用“删除项”。 这就是我需要帮助的地方,创建子程序

这是我的密码:

Option Strict On
Public Class Form1

Private Sub AddBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddBtn.Click
    ListBox.Items.Add(InputBox.Text)
    InputBox.Text = ""
End Sub

Private Sub ComputeBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComputeBtn.Click
    Dim sum, x, number, numberSum, subtractedNum As Integer
    Dim average, insideRoot, squaredRoot As Double


    For x = 0 To ListBox.Items.Count - 1
        ListBox.SelectedIndex = x

        number = Integer.Parse(ListBox.SelectedItem.ToString)
        sum = sum + number
        average = sum / ListBox.Items.Count
    Next
    AverageLbl.Text = average.ToString

    For x = 0 To ListBox.Items.Count - 1
        ListBox.SelectedIndex = x
        number = Integer.Parse(ListBox.SelectedItem.ToString)

        subtractedNum = CInt((number - average) ^ 2)
        numberSum = numberSum + subtractedNum
        insideRoot = (numberSum / (ListBox.Items.Count - 1))
        squaredRoot = insideRoot ^ (1 / 2)
    Next
    DeviationLbl.Text = squaredRoot.ToString("N2")

End Sub

Private Sub ClearMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearMenu.Click
    ClearMenu.Enabled = False
    SetMenu()
    ListBox.Items.Clear()
End Sub

Private Sub DeleteMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteMenu.Click
    ListBox.Items.Remove(ListBox.SelectedItem)
End Sub

Private Sub InputBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InputBox.TextChanged
    If IsNumeric(InputBox.Text) And InputBox.Text <> "" Then
        AddBtn.Enabled = True
    Else
        AddBtn.Enabled = False
    End If
End Sub

Private Sub SetMenu()
    'Need help here
End Sub
选项严格打开
公开课表格1
Private Sub AddBtn_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理AddBtn。单击
ListBox.Items.Add(InputBox.Text)
InputBox.Text=“”
端接头
私有子计算机\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理计算机。单击
点心,x,number,numberSum,减法num为整数
暗平均值,内弧,平方下垂为双
对于x=0到ListBox.Items.Count-1
ListBox.SelectedIndex=x
number=Integer.Parse(ListBox.SelectedItem.ToString)
总和=总和+数字
平均值=总和/ListBox.Items.Count
下一个
AverageLbl.Text=average.ToString
对于x=0到ListBox.Items.Count-1
ListBox.SelectedIndex=x
number=Integer.Parse(ListBox.SelectedItem.ToString)
减去的数值=CInt((数字-平均值)^2)
numberSum=numberSum+减去的num
insideRoot=(numberSum/(ListBox.Items.Count-1))
平方速降=内弧速降^(1/2)
下一个
偏差Lbl.Text=平方垂向管柱(“N2”)
端接头
私有子ClearMenu_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理ClearMenu。单击
ClearMenu.Enabled=False
SetMenu()
ListBox.Items.Clear()
端接头
私有子删除菜单\单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理删除菜单。单击
ListBox.Items.Remove(ListBox.SelectedItem)
端接头
私有子InputBox_TextChanged(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理InputBox.TextChanged
如果是数字(InputBox.Text)和InputBox.Text“”,则
AddBtn.Enabled=True
其他的
AddBtn.Enabled=False
如果结束
端接头
私有子集合菜单()
“这里需要帮助吗
端接头
期末考试怎么样

Private Sub toggleContextMenuItems()

    ClearToolStripMenuItem.Visible = (ListBox1.Items.Count > 0)

    DeleteToolStripMenuItem.Visible = (ListBox1.SelectedIndex > -1)

End Sub

然后在需要时调用此方法。

我需要帮助创建名为SetMenu的子例程。如果列表框中至少有一项,我需要启用ClearMenu项。如果列表框中选择了某些内容,我需要启用DeleteMenu项。听起来您需要选中ListBox.Items.Count。如果为0,请禁用清除按钮。如果大于0,则启用清除按钮。然后选中ListBox.SelectedIndex。如果为-1,则禁用删除。如果大于等于0,则启用Delete。我需要在If语句中设置哪些条件?。。如果ListBox.Items.Count>0,则我尝试执行ClearMenu.Enabled=True,但该语句对我无效,因此,我不知道我的情况如何。@Capellan谢谢。它适用于删除菜单项,但也不适用于清除菜单项。它可以工作,但为了使“清除”菜单项启用,您必须单击列表中的某个项目box@StephanieCorrea请尝试
ClearMenu.Enabled=(ListBox.Items.Count>0)
,如果列表框中有项目,则启用清除菜单,如果没有项目,则禁用它。