Florin Pănescu Ответов: 2

Как уменьшить ценность, увеличив другую ценность


Итак, я создал пользовательский контроль громкости для какого-то медиаплеера, для бесшумного звука -10000, а для полного звука-0, я искал по всему google и ничего не нашел, так как же я уменьшаю -10000 до 0, когда увеличиваю значение до 100.

Что я уже пробовал:

Я создал два свойства:
Public Property SetVolume() As Integer
        Get
            Return _SetVolume
        End Get
        Set(val As Integer)
            _SetVolume = val
            Refresh()
        End Set
    End Property

        Public Property Volume() As Integer
        Get
            Return _VolumeBar.Volume
        End Get
        Set(Val As Integer)
            _VolumeBar.Volume = Val
            Invalidate()
        End Set
    End Property

я пытался уменьшить SetVolume, когда увеличивал громкость.
MediaPlayerVolume1.SetVolume = MediaPlayerVolume1.Volume
TxtVolume.Text = Trim(-10000 * MediaPlayerVolume1.SetVolume / 100)

Я использую "TxtVolume.Text" только для тестирования, чтобы проверить, работает ли он или нет.

Richard MacCutchan

-10000 + 100 = -9900.

Ваш вопрос не совсем ясен.

Florin Pănescu

Я не могу быть более ясным, чем это.
Я создал пользовательский элемент управления, например progressbar, я использую этот элемент управления для увеличения громкости, проблема в том, что для silent это -10000, а для full-0, я устанавливаю максимум progressbar на 100, когда я увеличиваю значение до 100, я хочу, чтобы другое значение уменьшалось до 0.

Richard MacCutchan

Если максимум равен 100, то 1-это (10000 / 100), что равно 100. Таким образом, для каждого 1 шага на индикаторе выполнения вы увеличиваете значение громкости на 100. Таким образом, увеличение до 1 будет равно -10000 + 100 = -9900, а увеличение до 100 будет -10000 + (100 * 100) = -10000 + 10000 = 0.

2 Ответов

Рейтинг:
12

Florin Pănescu

Ну там я идти, Спасибо вам, ребята, что математика решения, @Ричард MacCutchan я попытался ваше решение, что я сделать, это установить прогрессбар максимум 10000, это выглядит так:

MediaPlayerVolume1.SetVolume = MediaPlayerVolume1.Volume
TxtVolume.Text = Trim(-10000 + (100 * 100) - 10000 + MediaPlayerVolume1.SetVolume)

С твоей математикой все в порядке, мне нужен твой мозг чувак :)
Большое вам спасибо, ребята, за то, что помогли мне.


Рейтинг:
0

OriginalGriff

Получите значение от 0 до 100, умножьте его на -100.

0   ->      0
1   ->   -100
...
100 -> -10000
Если вам нужно перевернуть его, то получите ваши показания от 0 до 100, умножьте их на 100 и вычитайте из 10000:
0   -> -10000
1   ->  -9900
...
100 ->      0