GET WAREHOUSE MANAGEMENT SYSTEM SOURCE CODE COMPLETE WITH DATABASE BACKUP FILE, USER MANUAL AND SYSTEM MANUAL
- SOURCE LANGUAGE :VISUAL BASIC NET
- DATABASE :SQLSERVER EXPRESS 2005/SQLSERVER 2005
- USER MANUAL :PDF FILE
- SYSTEM MANUAL :PDF FILE
Create Clickable Chart

Displaying information in chart form sometimes is more readable. In application, creating chart using Crystal Report is very easy. But, crystal report IS NOT CLICKABLE. In following sample, I will show how to create CLICKABLE CHART using lables that are created dynamically in application.
Every lable created will have event Click.
Here is step by step to create clickable chart (see form picture for desing) :
1. create new form, Name : FrmBnsChartClick
2. place a button, Name : BtnBnsChart
3. place a lable, Name : LblBnsYear
4. place a lable, Name : LblBnsProfit
5. place textbox, Name : TxtBnsa
6. copy source code below and paste it to FrmBnsChartClick code (FrmBnsChartClick.vb)

Imports System.Windows
Imports System.Drawing.Printing
Public Class FrmBnsChartClick
Dim bnsTxt As New TextBox
Dim bnsTxta(10) As TextBox
Dim bnsLbl As New Label
Dim bnsLblA(50) As Label
Dim bnsLblB(50) As Label
Dim bNs As Integer
Dim bnsGraph As System.Drawing.Graphics
Dim bnsX As Integer
Dim bnsY As Integer
Private Sub BtnBnsChart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBnsChart.Click
For bNs = 0 To 9
'remove lable if the lable already exist before
Me.Controls.Remove(bnsLblA(bNs))
Me.Controls.Remove(bnsLblB(bNs))
'<---TABULAR LABLE START HERE
'create lable and set lable's property
bnsLblA(bNs) = New Label
bnsLblA(bNs).Width = BtnBnsChart.Height
bnsLblA(bNs).Height = BtnBnsChart.Width * 0.1 * (bNs + 1)
bnsLblA(bNs).Top = bnsY - bnsLblA(bNs).Height
bnsLblA(bNs).Text = bNs
If bNs = 0 Then
bnsLblA(bNs).Left = bnsX + (bNs * BtnBnsChart.Height) + (0.5 * BtnBnsChart.Height)
Else
bnsLblA(bNs).Left = bnsLblA(bNs - 1).Left + bnsLblA(bNs).Width + (0.1 * BtnBnsChart.Height)
End If
bnsLblA(bNs).Cursor = Cursors.Hand
bnsLblA(bNs).Tag = bNs
bnsLblA(bNs).BackColor = IIf(bNs Mod 2 = 0, Color.LightBlue, Color.HotPink)
'generate event for the lable
AddHandler bnsLblA(bNs).Click, AddressOf LblBnsClick
'put lable on form (on container)
Me.Controls.Add(bnsLblA(bNs))
'<<===TABULAR LABLE END HERE
'<---YEAR LABLE START HERE
'create lable and set lable's property
bnsLblB(bNs) = New Label
bnsLblB(bNs).AutoSize = True
bnsLblB(bNs).Top = bnsY + 10
bnsLblB(bNs).Text = "200" & bNs
bnsLblB(bNs).Left = bnsLblA(bNs).Left
Me.Controls.Add(bnsLblB(bNs))
'<<===YEAR LABLE END HERE
Next
End Sub
Private Sub LblBnsClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
TxtBnsa.Text = sender.tag
End Sub
Private Sub FrmBnsGraphClick_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'initiate graphic object
bnsGraph = Me.CreateGraphics
'X position for Y axis
bnsX = LblBnsProfit.Left + LblBnsProfit.Width + 10
'Y position for X axis
bnsY = LblBnsYear.Top - 30
End Sub
Private Sub FrmBnsGraphClick_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
'drawing X axis
bnsGraph.DrawLine(Pens.Black, bnsX, bnsY, Me.Width - 100, bnsY)
'drawing Y axis
bnsGraph.DrawLine(Pens.Black, bnsX, bnsY, bnsX, 40)
End Sub
End Class
Tidak ada komentar:
Posting Komentar