Springen naar inhoud


- - - - -
VS 2015

Gekleurd Balkje Printen

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 Scheepers

Scheepers

    Senior Developer

  • Leden
  • PipPipPip
  • 233 berichten
    Laatst bezocht 21 sep 2021 10:57

Geplaatst op 13 september 2021 - 12:15

De vraag is om een print-out of printpreview te maken waarin achter de uitslag een gekleurd balkje komt.
Afhankelijk van de uitslag wordt de lengte van de balk groter en de kleur van geel naar rood.
De gegevens heb ik in een datagridview staan uit een CSV-bestand.

Ik weet even niet hoe ik dit moet aanpakken.
Wie kan mij op weg helpen?

#2 dirka

dirka

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1218 berichten
    Laatst bezocht
  • LocatieDestelbergen

Geplaatst op 14 september 2021 - 15:51

Bericht bekijkenScheepers, op 13 september 2021 - 12:15, zei:

De vraag is om een print-out of printpreview te maken waarin achter de uitslag een gekleurd balkje komt.
Afhankelijk van de uitslag wordt de lengte van de balk groter en de kleur van geel naar rood.

Bijvoorbeeld zoiets:

Visual Basic Code:
Imports System.Drawing.Drawing2D
Imports System.Drawing.Printing

Public Class FormPrintLinearGradient
	Private document As New PrintDocument

	Public Sub New()
		InitializeComponent()
		AddHandler document.PrintPage, AddressOf PrintPage
		document.PrinterSettings.PrinterName = "Adobe PDF"
		document.Print()
	End Sub

	Private Sub PrintPage(sender As Object, e As PrintPageEventArgs)
		Dim format As New StringFormat With {
			.LineAlignment = StringAlignment.Center,
			.Alignment = StringAlignment.Near}
		Dim font As New Font("Arial", 10)


		Dim image As New Bitmap(400, 20)
		Dim rect = New Rectangle(0, 0, 400, 20)
		Dim brush As New LinearGradientBrush(
			rect, Color.Yellow, Color.Red, LinearGradientMode.Horizontal)
		Dim g = Graphics.FromImage(image)


		For index As Integer = 0 To 6
			g.FillRectangle(brush, rect)
			Dim dest = New Rectangle(10, 10 + 30 * index, 100 + index * 50, rect.Height)
			g.DrawString($"{dest.Width / 4:F1}%", font, Brushes.Black, rect, format)
			Dim clip = New Rectangle(0, 0, dest.Width, dest.Height)
			e.Graphics.DrawImage(image, dest, clip, GraphicsUnit.Pixel)
		Next
	End Sub
End Class



Bijlage  Schermafbeelding 2021-09-14 155028.png   40,06K   1 downloads

#3 Scheepers

Scheepers

    Senior Developer

  • Leden
  • PipPipPip
  • 233 berichten
    Laatst bezocht 21 sep 2021 10:57

Geplaatst op 21 september 2021 - 10:08

Top. Dit is wat ik wilde. Dank hiervoor.





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)