У меня есть пользовательский класс управления, который я только что сделал.На моей машине dev на работе (гостевой виртуалбокс Win7 x64 под управлением VS2010) он рисует отлично.При изменении размера и всего остального.
На моей домашней машине он рисует в первый раз, затем, если я изменяю его размер, я не вижу ничего, кроме краев.Обращая более пристальное внимание на артефакты, кажется, указывает на мой контрольный рисунок под тем, что он только что нарисовал, а не сверху.Я понятия не имею, что может быть иначе.
Imports System.Drawing
Public Class NetworkDiagram
Inherits Windows.Forms.UserControl
Sub New()
End Sub
Sub DrawNetwork(e As System.Windows.Forms.PaintEventArgs)
Dim pen1 As New Pen(Color.Blue, 1.0F)
' Draw a basic smiley face
e.Graphics.FillEllipse(Brushes.Yellow, 0, 0, Me.Width - 1, Me.Height - 1) ' Face
e.Graphics.FillEllipse(Brushes.Black, Me.Width / 4.0F, Me.Height / 4.0F, Me.Width / 6.0F, Me.Height / 6.0F) ' Left Eye
e.Graphics.FillEllipse(Brushes.Black, Me.Width - (Me.Width / 3.0F) - 10, (Me.Height / 4.0F), (Me.Width / 6.0F), (Me.Height / 6.0F)) ' Right Eye
e.Graphics.DrawArc(Pens.Black, (Me.Width / 4.0F), (Me.Height / 2.0F), (Me.Width / 2.0F), (Me.Height / 4.0F), 0, 180) ' Mouth
pen1.Dispose()
End Sub
Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
DrawNetwork(e)
MyBase.OnPaint(e)
End Sub
End Class