Mega Code Archive

 
Categories / VB.Net Tutorial / GUI Applications
 

Scribble application buffered by Bitmap

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms Imports System.Math public class ScribbleApplication    public Shared Sub Main         Application.Run(New Form1)    End Sub End class Public Class Form1     Private m_Bitmap As Bitmap     Private m_Graphics As Graphics     Private m_Drawing As Boolean     Private m_X As Integer     Private m_Y As Integer     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _      Handles MyBase.Load         MakeNewBitmap()     End Sub     Private Sub mnuFileClear_Click(ByVal sender As System.Object, _      ByVal e As System.EventArgs) Handles mnuFileClear.Click         MakeNewBitmap()     End Sub     Private Sub MakeNewBitmap()         Dim wid As Integer = picCanvas.ClientSize.Width         Dim hgt As Integer = picCanvas.ClientSize.Height         m_Bitmap = New Bitmap(wid, hgt)         m_Graphics = Graphics.FromImage(m_Bitmap)         m_Graphics.Clear(Me.BackColor)         picCanvas.Image = m_Bitmap     End Sub     Private Sub picCanvas_MouseDown(ByVal sender As Object, _      ByVal e As System.Windows.Forms.MouseEventArgs) Handles picCanvas.MouseDown         m_Drawing = True         m_X = e.X         m_Y = e.Y     End Sub     Private Sub picCanvas_MouseMove(ByVal sender As Object, _      ByVal e As System.Windows.Forms.MouseEventArgs) Handles picCanvas.MouseMove         If Not m_Drawing Then Exit Sub         m_Graphics.DrawLine(Pens.Black, m_X, m_Y, e.X, e.Y)         m_X = e.X         m_Y = e.Y         picCanvas.Image = m_Bitmap     End Sub     Private Sub picCanvas_MouseUp(ByVal sender As Object, _      ByVal e As System.Windows.Forms.MouseEventArgs) Handles picCanvas.MouseUp         m_Drawing = False     End Sub End Class <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Public Class Form1     Inherits System.Windows.Forms.Form     'Form overrides dispose to clean up the component list.     <System.Diagnostics.DebuggerNonUserCode()> _     Protected Overloads 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.picCanvas = New System.Windows.Forms.PictureBox         Me.MenuStrip1 = New System.Windows.Forms.MenuStrip         Me.mnuFile = New System.Windows.Forms.ToolStripMenuItem         Me.mnuFileClear = New System.Windows.Forms.ToolStripMenuItem         CType(Me.picCanvas, System.ComponentModel.ISupportInitialize).BeginInit()         Me.MenuStrip1.SuspendLayout()         Me.SuspendLayout()         '         'picCanvas         '         Me.picCanvas.Dock = System.Windows.Forms.DockStyle.Fill         Me.picCanvas.Location = New System.Drawing.Point(0, 24)         Me.picCanvas.Name = "picCanvas"         Me.picCanvas.Size = New System.Drawing.Size(303, 246)         Me.picCanvas.TabIndex = 0         Me.picCanvas.TabStop = False         '         'MenuStrip1         '         Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuFile})         Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)         Me.MenuStrip1.Name = "MenuStrip1"         Me.MenuStrip1.Size = New System.Drawing.Size(303, 24)         Me.MenuStrip1.TabIndex = 1         Me.MenuStrip1.Text = "MenuStrip1"         '         'mnuFile         '         Me.mnuFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuFileClear})         Me.mnuFile.Name = "mnuFile"         Me.mnuFile.Text = "&File"         '         'mnuFileClear         '         Me.mnuFileClear.Name = "mnuFileClear"         Me.mnuFileClear.Text = "&Clear"         '         'Form1         '         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font         Me.ClientSize = New System.Drawing.Size(303, 270)         Me.Controls.Add(Me.picCanvas)         Me.Controls.Add(Me.MenuStrip1)         Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle         Me.MainMenuStrip = Me.MenuStrip1         Me.Name = "Form1"         Me.Text = "Scribble"         CType(Me.picCanvas, System.ComponentModel.ISupportInitialize).EndInit()         Me.MenuStrip1.ResumeLayout(False)         Me.ResumeLayout(False)         Me.PerformLayout()     End Sub     Friend WithEvents picCanvas As System.Windows.Forms.PictureBox     Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip     Friend WithEvents mnuFile As System.Windows.Forms.ToolStripMenuItem     Friend WithEvents mnuFileClear As System.Windows.Forms.ToolStripMenuItem End Class