首页 > 解决方案 > 随机值procent进度条VB.Net

问题描述

我想分4个进度条,根据第一个进度条,所有组装的值给100的值。如果是第一个进度条,随机值将从(45,100)开始,如果值为45,则另一个进度条值随机将是progressbar2 = 15,progressbar=3 15,或progressbar 25,依此类推。(这是一个例子)。剩余三个进度条的随机值+第一个值相加,必须给100。

如果 Progressbar1 = 75,则其他 3 个进度条值总和 = 25。75+25=100。示例: Progressbar2= 10、progressbar3=10 和 progressbar4=5 。

 If LBPublic.Text = ("1") Then
            If AnswerA.Location = New Point(LocationA) Then
                Dim R As New Random
                Dim value As Integer
                value = R.Next(45, 100)
                ProgressBar1.Value += value
                LbProcentA.Text = ProgressBar1.Value
                Dim R1 As New Random
                Dim value1 As Integer
                value1 = R.Next(0, value)
                ProgressBar2.Value += value1
                LbProcentB.Text = ProgressBar2.Value
            End If
        End If

我并没有真正走出去做这件事。我用(progressbar1、progressbar2、progressbar3 和progressbar4 来记录进度条。

标签: vb.net

解决方案


尝试这样的事情:

Private R As New Random

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ProgressBar1.Value = R.Next(45, 101) ' min of 45, max of 100
    ProgressBar2.Value = R.Next(101 - ProgressBar1.Value)
    ProgressBar3.Value = R.Next(101 - (ProgressBar1.Value + ProgressBar2.Value))
    ProgressBar4.Value = 100 - (ProgressBar1.Value + ProgressBar2.Value + ProgressBar3.Value)

    Debug.Print("ProgressBar1: " & ProgressBar1.Value)
    Debug.Print("ProgressBar2: " & ProgressBar2.Value)
    Debug.Print("ProgressBar3: " & ProgressBar3.Value)
    Debug.Print("ProgressBar4: " & ProgressBar4.Value)
    Debug.Print("Total: " & (ProgressBar1.Value + ProgressBar2.Value + ProgressBar3.Value + ProgressBar4.Value))
End Sub

推荐阅读