Solved

Modify the row of a listview.

Posted on 2011-09-05
3
321 Views
Last Modified: 2013-12-17
Dear Experts,

I have tried to explain my problem in writing, but then the text get
to long and complicated. So I thougt to show it in a picture:

1. When a user click on the toolbar-button.
2. A grey form appears with a not-visible textbox on it.
3. When the user enters text (in this case: "Peter Pan") in the textbox
4. And clicks on the close-button for closing the form.
5. The text "Peter Pan" is now displayed in a listview-column.

This al works great.

But when I double-click on the icon "Peter Pan" again. The form
appears again with the text "Peter Pan" displayed in the textox.
If I know add more text to "Peter Pan", like "Peter Pan is lazy" and
click on the close-button again. The modified text isn't written back
to the listview! How can I do that?

Who knows the answer and is willing to help me? I have added the
toolbar-button-event and the listview double-click-event in the
code-section.

Greetings,

Peter Kiers

private void tbNewNote_Click(object sender, EventArgs e)
        {
            frmNote.textBox1.Clear();
            frmNote.lblCreation.Text = (DateTime.Now.ToString());
            if (frmNote.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ListViewItem myItem = new ListViewItem(frmNote.textBox1.Text, 0);
                myItem = lvNotes.Items.Add(myItem);
                myItem.SubItems.Add("SubItem1a");
                myItem.SubItems.Add(frmNote.lblCreation.Text);
                lvNotes.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize);
            }
        }

        private void lvNotes_DoubleClick(object sender, EventArgs e)
        {
            frmNote.textBox1.Text = lvNotes.SelectedItems[0].Text;
            frmNote.textBox1.SelectionStart = 0; 
            frmNote.lblCreation.Text = lvNotes.SelectedItems[0].SubItems[2].Text;
            frmNote.ShowDialog();
        }

Open in new window

Example1.jpg
0
Comment
Question by:peterkiers
  • 2
3 Comments
 
LVL 25

Accepted Solution

by:
Luis Pérez earned 500 total points
ID: 36484450
Try this:

        private void lvNotes_DoubleClick(object sender, EventArgs e)
        {
            frmNote.textBox1.Text = lvNotes.SelectedItems[0].Text;
            frmNote.textBox1.SelectionStart = 0;
            frmNote.lblCreation.Text = lvNotes.SelectedItems[0].SubItems[2].Text;
            if(frmNote.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                lvNotes.SelectedItems[0].Text = frmNote.textBox1.Text;
            }
        }

Hope that helps.
0
 
LVL 1

Author Comment

by:peterkiers
ID: 36484595
My application's behaves very strange with your code.

It think this line is correct but at the wrong place:
 
lvNotes.SelectedItems[0].Text = frmNote.textBox1.Text;


Peter
0
 
LVL 1

Author Comment

by:peterkiers
ID: 36484951
Thanks. It works.

Peter
0

Featured Post

Independent Software Vendors: 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

Suggested Solutions

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

756 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