Solved

Where would I find the GridLineDataGridView component?

Posted on 2008-06-24
2
266 Views
Last Modified: 2013-11-26
ipaulino has just answered a previous question about my datagridview but using a GridLineDataGridView component.

I just can't find this on the Visual Studio toolbox anywhere. Could somebody point me in the right direction please??

Regards


Frustrated.
0
Comment
Question by:jerute
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 48

Accepted Solution

by:
jpaulino earned 250 total points
ID: 21856625
Hi again!

Add the code on the snippet to a new class (clean all code from the new class and paste the code snippet). Then build your project.

The component will be available on the top of the toolbox.
Class GridLineDataGridView
	Inherits DataGridView
 
	Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)
		MyBase.OnPaint(e)
 
		Dim rowHeight As Integer = Me.RowTemplate.Height
		Dim h As Integer = Me.ColumnHeadersHeight + rowHeight * Me.RowCount
		Dim imgWidth As Integer = Me.Width - 2
		Dim rFrame As New Rectangle(0, 0, imgWidth, rowHeight)
		Dim rFill As New Rectangle(1, 1, imgWidth - 2, rowHeight)
		Dim rowHeader As New Rectangle(2, 2, Me.RowHeadersWidth - 3, rowHeight)
 
		Dim pen As New Pen(Me.GridColor, 1)
		Dim rowImg As New Bitmap(imgWidth, rowHeight)
		Dim g As Graphics = Graphics.FromImage(rowImg)
		g.DrawRectangle(pen, rFrame)
		g.FillRectangle(New SolidBrush(Me.DefaultCellStyle.BackColor), rFill)
		g.FillRectangle(New SolidBrush(Me.RowHeadersDefaultCellStyle.BackColor), rowHeader)
 
		Dim rowImgAAlternative As Bitmap = TryCast(rowImg.Clone(), Bitmap)
		Dim g2 As Graphics = Graphics.FromImage(rowImgAAlternative)
		rFill.X += Me.RowHeadersWidth - 1
		g2.FillRectangle(New SolidBrush(Me.AlternatingRowsDefaultCellStyle.BackColor), rFill)
 
		Dim w As Integer = Me.RowHeadersWidth - 1
		For j As Integer = 0 To Me.ColumnCount - 1
			g.DrawLine(pen, New Point(w, 0), New Point(w, rowHeight))
			g2.DrawLine(pen, New Point(w, 0), New Point(w, rowHeight))
			w += Me.Columns(j).Width
		Next
 
		Dim [loop] As Integer = (Me.Height - h) / rowHeight
		For j As Integer = 0 To [loop]
			Dim index As Integer = Me.RowCount + j
			If index Mod 2 = 0 Then
				e.Graphics.DrawImage(rowImg, 1, h + j * rowHeight)
			Else
				e.Graphics.DrawImage(rowImgAAlternative, 1, h + j * rowHeight)
			End If
		Next
 
	End Sub
 
End Class

Open in new window

0
 

Author Comment

by:jerute
ID: 21856795
A-HA!!!

:-)

Thanks again. LOL.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Arrow Electronics was searching for a KVM  (Keyboard/Video/Mouse) switch that could display on one single monitor the current status of all units being tested on the rack.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question