I have following codes and I know how to add data from the text box entry to the header . but my question is, how can I save these entered text in each row to .txt file or .xml file, and load those information when Form load event.
for example in listbox we are able to save each entered data of the row to .Txt file or .Xml file and can load in Form Load Event.
so I want to know is it possible to do with I given codes in ListView ?.
hope you guys can help me . Will appreciated code explanation . Thank you
Inherited ListView code as follows,
ExtraData Class Codes as follows
this codes for the button click
http://imageshack.us/f/163/listview.jpg/
for example in listbox we are able to save each entered data of the row to .Txt file or .Xml file and can load in Form Load Event.
so I want to know is it possible to do with I given codes in ListView ?.
hope you guys can help me . Will appreciated code explanation . Thank you
Inherited ListView code as follows,
Public Class ListViewEx Inherits ListView Private imgList As New ImageList Public Sub New() Me.OwnerDraw = True ' The control flickers if it's not double-buffered Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) ' Configure the columns and such Me.View = View.Details Me.BackColor = Color.White Me.FullRowSelect = True Me.Columns.Add("Image and MultiLine Text", 200) ' Set the imagelist to change the height of the Listview items. imgList.ColorDepth = ColorDepth.Depth32Bit imgList.ImageSize = New Size(32, 32) Me.SmallImageList = imgList End Sub Private Sub Me_DrawColumnHeader(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawListViewColumnHeaderEventArgs) Handles Me.DrawColumnHeader e.DrawDefault = True End Sub Private Sub Me_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawListViewItemEventArgs) Handles Me.DrawItem e.DrawDefault = False End Sub Private Sub Me_DrawSubItem(ByVal sender As Object, ByVal e As DrawListViewSubItemEventArgs) Handles Me.DrawSubItem If (e.ItemState And ListViewItemStates.Selected) <> 0 Then e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds) 'item is highlighted End If ' Draw the image and text If e.ColumnIndex = 0 Then Dim lvw As ExtraData = DirectCast(e.Item.Tag, ExtraData) Dim f1 As New Font("Arial", 10, FontStyle.Bold) Dim f2 As New Font("Arial", 8, FontStyle.Regular) Dim Rectf1 As RectangleF = New Rectangle(e.Bounds.X + 35, e.Bounds.Y + 3, e.Bounds.Width - 35, f1.Height) Dim Rectf2 As RectangleF = New Rectangle(e.Bounds.X + 35, e.Bounds.Y + 18, e.Bounds.Width - 35, f2.Height) Dim sf As New StringFormat sf.Alignment = StringAlignment.Near sf.Trimming = StringTrimming.EllipsisCharacter e.Graphics.DrawImage(lvw.MainImage, e.Bounds.X + 1, e.Bounds.Y + 1, 32, 32) e.Graphics.DrawString(lvw.HeaderText, f1, Brushes.Black, Rectf1, sf) e.Graphics.DrawString(lvw.MinorText, f2, Brushes.Black, Rectf2, sf) Else e.DrawDefault = True End If End Sub Private Sub InitializeComponent() Me.SuspendLayout() ' 'ListViewEx ' Me.ResumeLayout(False) End Sub End Class
ExtraData Class Codes as follows
Public Class ExtraData Public Property MainImage As Bitmap Public Property HeaderText As String Public Property MinorText As String End Class
this codes for the button click
Dim bm As New Bitmap("D:\sun.jpg") Dim lvwExtra As New ExtraData lvwExtra.HeaderText = TextBox1.Text lvwExtra.MinorText = "Minor Text" lvwExtra.MainImage = bm Dim lvw As ListViewItem = Me.ListViewEx1.Items.Add("") lvw.Tag = lvwExtra End Sub
http://imageshack.us/f/163/listview.jpg/