Hallo an alle,
ich versuche mich gerade mal testweise an einer eigenen Progressbar, und nach allem was ich so gelesen habe ist gdi+ natürlich die Wahl der Qual geworden,
aber es flackert halt mal richtig heftig wenn ich was zeichne, also dachte ich mir klar hau den Doublebuffer rein, aber egal wie ich dies mache (ob im designer die Option setzen, oder per Code)
stürzt bei aktivem DB mein Prog einfach ab... und die genialste Fehlermeldung der Welt "exception" erscheint...
der Code mit dem ich zu zeichnen versuche:
Spoiler anzeigen
weiss evtl. jemand rat ?
Greets
Edit:
Hab jetzt testweise mal ein neues Project aufgemacht und da wieder ein Benutzersteuerelement hinzugefügt, DB aktiviert, und schwups ich kann es nicht mal mehr auf die Form ziehen da Sonst wieder ein Fehler kommt, er Meckert dabei ungültiger Parameter, aber eben nur wenn DB aktiv ist....
Ist das wieder was wo Microsoft versaut hat in Win 10 ?
ich versuche mich gerade mal testweise an einer eigenen Progressbar, und nach allem was ich so gelesen habe ist gdi+ natürlich die Wahl der Qual geworden,
aber es flackert halt mal richtig heftig wenn ich was zeichne, also dachte ich mir klar hau den Doublebuffer rein, aber egal wie ich dies mache (ob im designer die Option setzen, oder per Code)
stürzt bei aktivem DB mein Prog einfach ab... und die genialste Fehlermeldung der Welt "exception" erscheint...
der Code mit dem ich zu zeichnen versuche:
VB.NET-Quellcode
- Public Class GradientPbar
- #Region "Deklaration"
- Private G As Graphics
- Private ValueVal As Double = 50
- Private MinVal As Double = 0
- Private MaxVal As Double = 100
- Private WithLabelVal As Boolean = False
- Private GlossyVal As Boolean = True
- Private RoundedVal As Boolean = True
- Private LabelColorVal As Color = Color.Black
- Private TopColorVal As Color = Color.DarkRed
- Private BotColorVal As Color = Color.Black
- Private GlossColorVal As Color = Color.White
- Dim lgbbrush As LinearGradientBrush
- #End Region
- Public Property Value As Double
- Get
- Return ValueVal
- End Get
- Set(value As Double)
- Me.ValueVal = value
- Me.Invalidate()
- End Set
- End Property
- Public Property Minimum As Double
- Get
- Return Me.MinVal
- End Get
- Set(value As Double)
- Me.MinVal = value
- End Set
- End Property
- Public Property Maximum As Double
- Get
- Return Me.MaxVal
- End Get
- Set(value As Double)
- Me.MaxVal = value
- End Set
- End Property
- Protected Overrides Sub OnResize(ByVal e As EventArgs)
- Me.Invalidate()
- End Sub
- Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- G = e.Graphics
- 'With G
- ' '.CompositingQuality = CompositingQuality.HighQuality
- ' '.InterpolationMode = InterpolationMode.HighQualityBicubic
- 'End With
- Dim rect As Rectangle = Me.ClientRectangle
- lgbbrush = New LinearGradientBrush(rect, TopColorVal, BotColorVal, LinearGradientMode.Vertical)
- Dim percent As Decimal = CDec((Value - MinVal) / (MaxVal - MinVal))
- rect.Width = CInt(rect.Width * percent)
- G.FillRectangle(lgbbrush, rect)
- lgbbrush.Dispose()
- G.Dispose()
- End Sub
- End Class
weiss evtl. jemand rat ?
Greets
Edit:
Hab jetzt testweise mal ein neues Project aufgemacht und da wieder ein Benutzersteuerelement hinzugefügt, DB aktiviert, und schwups ich kann es nicht mal mehr auf die Form ziehen da Sonst wieder ein Fehler kommt, er Meckert dabei ungültiger Parameter, aber eben nur wenn DB aktiv ist....
Ist das wieder was wo Microsoft versaut hat in Win 10 ?
If Energy = Low Then
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „asusdk“ ()