Задать вопрос
@humminbird

Возможно ли обновление формы после изменения данных?

Всем привет !

Есть рабочий код

Imports NAudio.Wave

Public Class MainForm
Dim Str As String
Public Sub New()
InitializeComponent()
End Sub

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

Str = TextBox1.Text
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim waveOut = New WaveOut()
Dim osc = New SineWaveOscillator(44100)
osc.Frequency = Str
osc.Amplitude = 8192
waveOut.Init(osc)
waveOut.Play()
End Sub

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

End Sub

End Class

Public Class SineWaveOscillator
Inherits WaveProvider16

Dim phaseAngle As Double

Public Sub New(sampleRate As Int32)
MyBase.New(sampleRate, 1)
End Sub

Public Property Frequency As Double
Public Property Amplitude As Short

Public Overrides Function Read(buffer() As Short, _
offset As Integer, sampleCount As Integer) As Integer
For index = 0 To sampleCount
buffer(offset + index) = Amplitude * Math.Sin(phaseAngle)
phaseAngle += 2 * Math.PI * Frequency / WaveFormat.SampleRate
If phaseAngle > 2 * Math.PI Then
phaseAngle -= 2 * Math.PI
End If
Next
Return sampleCount
End Function
End Class


запускаю сборку =>собирается=>запускает

все ок ... но когда второй раз вводишь частоту и нажимаешь плей он не обновляет форму а накладывает новую на старую

можно ли как то обновлять форму по кнопке или автоматом ?
или это из за того что я не собрал полностью ?
  • Вопрос задан
  • 2310 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы