Mega Code Archive

 
Categories / VB.Net Tutorial / 2D Graphics
 

Change Pen width by setting the PageUnit

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class PenWidth    public Shared Sub Main         Application.Run(New Form1)    End Sub End class Public Class Form1     Private Sub RadioButton_CheckedChanged( _           ByVal sender As System.Object, _           ByVal e As System.EventArgs) _           Handles UsePixels.CheckedChanged, _           UseMillimeters.CheckedChanged, _           UseInches.CheckedChanged         ' ----- Change the scaling system.         Me.Refresh()     End Sub     Private Sub Form1_Paint(ByVal sender As Object, _           ByVal e As System.Windows.Forms.PaintEventArgs) _           Handles Me.Paint         Dim canvas As Graphics         canvas = e.Graphics         If (UseMillimeters.Checked = True) Then             canvas.PageUnit = GraphicsUnit.Millimeter         ElseIf (UseInches.Checked = True) Then             canvas.PageUnit = GraphicsUnit.Inch         Else             canvas.PageUnit = GraphicsUnit.Pixel         End If         canvas.DrawLine(New Pen(Color.Red, 1), 1, 1,200, 100)     End Sub End Class <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1     Inherits System.Windows.Forms.Form     'Form overrides dispose to clean up the component list.     <System.Diagnostics.DebuggerNonUserCode()> _     Protected Overrides Sub Dispose(ByVal disposing As Boolean)         If disposing AndAlso components IsNot Nothing Then             components.Dispose()         End If         MyBase.Dispose(disposing)     End Sub     'Required by the Windows Form Designer     Private components As System.ComponentModel.IContainer     '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.UsePixels = New System.Windows.Forms.RadioButton         Me.UseMillimeters = New System.Windows.Forms.RadioButton         Me.UseInches = New System.Windows.Forms.RadioButton         Me.SuspendLayout()         '         'UsePixels         '         Me.UsePixels.AutoSize = True         Me.UsePixels.Checked = True         Me.UsePixels.Location = New System.Drawing.Point(24, 128)         Me.UsePixels.Name = "UsePixels"         Me.UsePixels.Size = New System.Drawing.Size(52, 17)         Me.UsePixels.TabIndex = 0         Me.UsePixels.TabStop = True         Me.UsePixels.Text = "Pixels"         Me.UsePixels.UseVisualStyleBackColor = True         '         'UseMillimeters         '         Me.UseMillimeters.AutoSize = True         Me.UseMillimeters.Location = New System.Drawing.Point(24, 152)         Me.UseMillimeters.Name = "UseMillimeters"         Me.UseMillimeters.Size = New System.Drawing.Size(73, 17)         Me.UseMillimeters.TabIndex = 1         Me.UseMillimeters.Text = "Millimeters"         Me.UseMillimeters.UseVisualStyleBackColor = True         '         'UseInches         '         Me.UseInches.AutoSize = True         Me.UseInches.Location = New System.Drawing.Point(24, 176)         Me.UseInches.Name = "UseInches"         Me.UseInches.Size = New System.Drawing.Size(57, 17)         Me.UseInches.TabIndex = 2         Me.UseInches.Text = "Inches"         Me.UseInches.UseVisualStyleBackColor = True         '         'Form1         '         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font         Me.ClientSize = New System.Drawing.Size(513, 384)         Me.Controls.Add(Me.UseInches)         Me.Controls.Add(Me.UseMillimeters)         Me.Controls.Add(Me.UsePixels)         Me.Name = "Form1"         Me.Text = "Drawing Lines One Pixel Wide Regardless of Scaling"         Me.ResumeLayout(False)         Me.PerformLayout()     End Sub     Friend WithEvents UsePixels As System.Windows.Forms.RadioButton     Friend WithEvents UseMillimeters As System.Windows.Forms.RadioButton     Friend WithEvents UseInches As System.Windows.Forms.RadioButton End Class