Найти произведение ряда (цикл For) - VB
Формулировка задачи:
Собственно название темы и есть задание. В качестве дополнительного задания идёт изменение цвета фона ListBox и цвета шрифта в нём.
Внешний вид формы прилогаю
Вот сам код
А вопрос в следующем, ну то что формула не правильная то наверняка, но меня интересует как остановить выполнение программы на небольшое время. Дело в том, что при k=1 и n=4 цикл выполняется за доли сек и это норм. Но при n = 4000, ProgressBar должен заполняться постепенно, плавно. А он опять таки считает за секунду. Ну и соответсвенно текст в ListBox должен заполнятся как в "Матрице"
Догадываюсь, что делается с помощью Timer, но как? Рад любым советам. Работаю в VS 2008
Листинг программы
- Imports System.Math
- Public Class Form3
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Me.Close()
- End Sub
- Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ListBox1.Visible = False
- ListBox1.BackColor = Color.Blue
- ListBox1.ForeColor = Color.Coral
- ProgressBar1.Visible = False
- End Sub
- Private Sub Выполнить_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Выполнить.Click
- Dim a As Double : Dim x As Double : Dim n As Integer
- Dim k As Double : Dim y As Double : Dim Dialog As New ColorDialog
- ProgressBar1.Visible = True
- ProgressBar1.Value = 0
- ListBox1.Visible = True
- ListBox1.Items.Clear()
- a = Val(Поле_А.Text)
- x = Val(Поле_Х.Text)
- n = Val(Поле_N.Text)
- ProgressBar1.Maximum = n
- For k = 1 To n
- y = Cos(a - x * k)
- ListBox1.Items.Add("№" & k & " Y =" & y)
- ProgressBar1.Value = ProgressBar1.Value + 1
- Next
- MsgBox(ProgressBar1.Value)
- If Заливка_фона.Checked And Цвет_фона.Checked Then
- Dialog.Color = ListBox1.BackColor
- Dialog.ShowDialog()
- ListBox1.BackColor = Dialog.Color
- Dialog.Color = ListBox1.ForeColor
- Dialog.ShowDialog()
- ListBox1.ForeColor = Dialog.Color
- ElseIf Заливка_фона.Checked Then
- Dialog.Color = ListBox1.BackColor
- Dialog.ShowDialog()
- ListBox1.BackColor = Dialog.Color
- ElseIf Цвет_фона.Checked Then
- Dialog.Color = ListBox1.ForeColor
- Dialog.ShowDialog()
- ListBox1.ForeColor = Dialog.Color
- End If
- End Sub
- End Class
Решение задачи: «Найти произведение ряда (цикл For)»
textual
Листинг программы
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal ....
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д