[ Acid @ 08.05.2003. 21:44 ] @
pozdrav,
bavim se programiranjem u vb.net, a ranije sam se bavio vb6.
problem:
u vb6 kada na picture(box)u nacrtam liniju i ukljucim autoredraw(true), ta linija uvek ostaje tamo gde treba da bude. u vb.net svojstvo autoredraw ne postoji. da li neko zna neku zamenu za autoredraw (a da to nije paint event)?

unapred hvala


Nikola
[ veljaradenkovic @ 10.05.2003. 03:18 ] @
Bio sam ti napisao primer ovde sa onPaint metodom, pa sam tek onda video da neces to ... Mada mislim da imam pravo da mislim da je onPaint jedino valjano resenje pa ako ti treba samo kazi.
Samo bitmap PictureBoha(forme) je stalna. Sve sto crtas na Graphics objektu je privremeno. To ne postaje deo Graphics objekta i vidljivo je samo dok se kontrola ne prikaze ponovo...
[ veljaradenkovic @ 18.05.2003. 00:23 ] @
Evo ti ovo pa probaj.
Resource "Mastering VB.NET" Author Evangelos Petroutsos
Code:
Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents Button2 As System.Windows.Forms.Button

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.Container

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.Button2 = New System.Windows.Forms.Button()
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Font = New System.Drawing.Font("Verdana", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Button1.Location = New System.Drawing.Point(8, 224)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(96, 40)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "Draw on Bitmap"
        '
        'Button2
        '
        Me.Button2.Font = New System.Drawing.Font("Verdana", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Button2.Location = New System.Drawing.Point(176, 224)
        Me.Button2.Name = "Button2"
        Me.Button2.Size = New System.Drawing.Size(96, 40)
        Me.Button2.TabIndex = 1
        Me.Button2.Text = "Draw on Graphics"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button2, Me.Button1})
        Me.Name = "Form1"
        Me.Text = "SimpleGraphics Form"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim G As Graphics
        G = GetGRaphicsObject()
        G.Clear(Color.Silver)
        Dim P As New Pen(Color.Blue)
        G.DrawRectangle(P, 10, 10, 200, 150)
        G.DrawLine(P, 10, 10, 210, 160)
        G.DrawLine(P, 210, 10, 10, 160)
        Me.Invalidate()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.CreateGraphics.DrawEllipse(Pens.Red, 10, 10, 200, 150)
    End Sub

    Function GetGRaphicsObject() As Graphics
        Dim bmp As Bitmap
        bmp = New Bitmap(Me.Width, Me.Height)
        Dim G As Graphics
        Me.BackgroundImage = bmp
        G = Graphics.FromImage(bmp)
        Return G
    End Function


End Class