|
ListViewItem L_Copy = L_Selected.Clone() as ListViewItem;
Where L_Selected is the selected ListViewItem
Have Fun
Never forget it
|
|
|
|
|
ok..but If I have selected multiple items from the first listview...and then I want to put them all in the second list view...how I need to do that?
|
|
|
|
|
SelectedItems property returns all the items that are selected. You can iterate over them and copy one by one.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
I know, I tried few times, but simply it doesn't want to move from one listview to another, I am trying something like this:
example:
listview2.items.add = listview1.selecteditems;
can you please give me some better way to solve this, it's really important for me...Thx ahead
|
|
|
|
|
Do you want to copy items or move items?
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
I want to move...but if you want you can show me both examples, thanks a lot
|
|
|
|
|
|
Here u Go :
List<listviewitem> NewList = new List<listviewitem>();
CurrentListView.SelectedItems.CopyTo(NewList.ToArray(), 0);
ListView NewListView = new ListView();
NewList.AddRange(NewList.ToArray());
Have Fun
Never forget it
|
|
|
|
|
ok...so this is how I did it, according to your advices:
List<listviewitem> NewList = new List<listviewitem>();
lvFiles.SelectedItems.CopyTo(NewList.ToArray(), 0);
lvAccepted.Items.AddRange(NewList.ToArray());
and I got ArgumentException at the second line:
"Destination array was not long enough. Check destIndex and length, and the array's lower bounds."
Any help??
|
|
|
|
|
Sure,
Here u GO :
List<ListViewItem> arr = new List<ListViewItem>(listView1.SelectedItems.Count);
foreach (ListViewItem LVI in listView1.SelectedItems)
{
arr.Add(LVI.Clone() as ListViewItem);
}
listView2.Items.AddRange(arr.ToArray());
this Works Fine, i've Check It
Have Fun
Never forget it
|
|
|
|
|
thx...I am done for today, but I will check tomorrow for sure, have a nice evening
|
|
|
|
|
|
Have Fun
Never forget it
|
|
|
|
|
I have a collection class which wraps a generic List. This collection has two methods say, MoveUp and MoveDown. When MoveUp is called with an item, the supplied item will be moved one location down in the collection. There are events available for these operations.
I have a custom control which wraps ListBox. This control has subscribed for the events in my collection class. So when there is MoveUp or MoveDown in the collection, this control will get notifications.
Now I need to rearrange the listbox items according to the collection items when something moves up or down. I am doing this by removing all listbox items and adding it again which seems to be a bad idea and also it flickers the control.
Is there any better way to do this ?
|
|
|
|
|
What about swapping them?
Move up
Object o = lb1.items(lb1.selectedindex -1 )
lb1.items(lb1.selectedindex -1 ) = lb1.items(lb1.selectedindex)
lb1.items(lb1.selectedindex) = o
Obviously needs a bit of tinkering and checking for top/bottom, but you get the gist.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Thanks Bob, I will give a try
|
|
|
|
|
Remove the selected one, and re-insert it one position higher (don't forget to account for being at the top or bottom of the listbox). Also, you can avoid flickering if you turn off updates, remove/insert, and then turn updates back on.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: Remove the selected one, and re-insert it one position higher (don't forget to account for being at the top or bottom of the listbox
Fair idea. Thanks John
John Simmons / outlaw programmer wrote: if you turn off updates, remove/insert, and then turn updates back on.
I can't find how to turn off updates. Do you mean to calling SuspendLayout() and ResumeLayout() ?
|
|
|
|
|
It's actually BeginUpdate() and EndUpdate() ...
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Thanks. I will take a look at that
|
|
|
|
|
Hi,
i'm Trying to Implement the Ctrl+S (save)
Do i need to Monitor the KeyPress Events and check The Last Two Keys Pressed
or there is an easer way ( a Buit -In )
Have Fun
Never forget it
|
|
|
|
|
private void form_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.S)
|
|
|
|
|
Thanks a Lot
Have Fun
Never forget it
|
|
|
|
|
KeyUp's (or KeyDown's) KeyEventArgs has a Control property, then just check KeyCode for S.
|
|
|
|
|
If you have a menu on the form, just set the shortcut to Ctrl+S on your Save item.
|
|
|
|