Visual Basic .NET - help!

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ~EviL~, 16 May 2010.

  1. ~EviL~

    ~EviL~ Elder - Старейшина

    Joined:
    14 Aug 2007
    Messages:
    169
    Likes Received:
    77
    Reputations:
    4
    Ребят, короче такая у меня проблема: я рисую график, который при запуске программы задерживается на 1 секунду и потом исчезает... Вот код:
    Code:
    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_Paint()
            Dim Graph1 As Graphics
            Dim Pen1 As New Pen(Color.Black, 2)
            Dim drawBrush As New SolidBrush(Color.Black)
            Dim drawFont As New Font("Arial", 10)
            Dim X, Y As Single
            Dim M As Integer
            Dim Size As Integer = 25
            Dim Quality As Integer = 300
            Graph1 = PictureBox1.CreateGraphics()
            Graph1.Clear(Color.White)
            'Печать шкал математической системы координат в компьютернеой системе координат
            For X = -150 To 150 Step 50
                Graph1.DrawString(X / Size, drawFont, drawBrush, X + 150, 80) 'Делим на масштаб
            Next
            For Y = 0 To 200 Step 50
                Graph1.DrawString((Y - 100) / Size, drawFont, drawBrush, 150, 180 - Y) 'Делим на масштаб
            Next
            'Преобразование компьютерной системы координат в математическую систему координат
            Graph1.ScaleTransform(1, -1) 'Поворот оси Y
            Graph1.TranslateTransform(150, -100) 'Сдвиг осей
            'Рисум оси
            Graph1.DrawLine(Pen1, -150, 0, 300, 0) 'Ось Х
            Graph1.DrawLine(Pen1, 0, -100, 0, 100)  'Ось Y
            For X = -150 To 150 Step 50 'Засечки на оси Х
                Graph1.DrawLine(Pen1, X, -5, X, 5)
            Next
            For Y = -100 To 100 Step 50 'Засечки на Y
                Graph1.DrawLine(Pen1, -5, Y, 5, Y)
            Next
            Try 'Отлавливаем ошибки
                M = Size 'М - масштаб
                For X = -1.5 * (100 / Size) To 1.5 * (100 / Size) Step 10 / Quality 'Шаг в знач. качества
                    Y = Math.Sin(X)
                    Graph1.DrawEllipse(Pen1, X * M, Y * M, 1, 1)
                Next X
            Catch 'Если произошла ошибка то делаем следующее:
                MsgBox("Произошла ошибка. Извините за неудобства", 48, "Ошибка!")
            End Try
        End Sub
    
        Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AddHandler PictureBox1.Paint, AddressOf Me.Form3_Paint
        End Sub
    End Class
    
    Вызывается эта форма (Form3) из первой формы (Form1). Код:
    Code:
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
            Dim Form3 As New Form3()
    
            Form3.Show()
    
        End Sub
    
    Кто-то знает, как можно решить эту проблему? :(