1,105,625 Community Members

Problem with Panel ordering.

Member Avatar
Begginnerdev
Veteran Poster
1,142 posts since Apr 2010
Reputation Points: 251 [?]
Q&As Helped to Solve: 191 [?]
Skill Endorsements: 15 [?]
 
0
 

Hello my fellow DanniWebbers, it is me againg. I have yet another question for you guys and gals.


I have a parent panel with child panels that contain images. I am looping through the panels to save the images in the order the panels appear in the parent panel.


I am using:

for p as Panel in ImagePanel.Controls
  scannedImages(j) = p.BackGroundImage
  j += 1
next

I can also re-arrange the panels via mouse. The problem is that when they are rearranged, they do not retain their order when saved.. They simply are saved in the order they were added to the parent panel.

So my question is, does the for loop use the index set when adding the panel? If so, how can I manipulate the index in runtime while arranging the panels via mouse.

Member Avatar
Reverend Jim
Noli mentula
5,460 posts since Aug 2010
Reputation Points: 761 [?]
Q&As Helped to Solve: 653 [?]
Skill Endorsements: 51 [?]
Moderator
Featured
 
0
 

One suggestion is to declare an array of references to panel and assign the panels to the array in the order you want to reference them.

Private panels(2) as Panel

panels(0) = myPanel1
panels(1) = myPanel2
panels(2) = myPanel3
Member Avatar
Begginnerdev
Veteran Poster
1,142 posts since Apr 2010
Reputation Points: 251 [?]
Q&As Helped to Solve: 191 [?]
Skill Endorsements: 15 [?]
 
0
 

That is what I have scannedimages for, but for some reason it does not want to keep the order of the panels post rearrange. I would like to have the ability to move the panels and when the user presses "Save", the panels are then saved in their current order. The problem is, they are saved in the order they were scanned in. :(

Member Avatar
Reverend Jim
Noli mentula
5,460 posts since Aug 2010
Reputation Points: 761 [?]
Q&As Helped to Solve: 653 [?]
Skill Endorsements: 51 [?]
Moderator
Featured
 
0
 

If I understand correctly, you could save the positions of the panels in My.Settings then restore those positions when you reopen the app.

Question Answered as of 2 Years Ago by Reverend Jim
Member Avatar
Begginnerdev
Veteran Poster
1,142 posts since Apr 2010
Reputation Points: 251 [?]
Q&As Helped to Solve: 191 [?]
Skill Endorsements: 15 [?]
 
0
 

Sorry for long reply, and not marking question solved.....

Answer was to loop through the panels and do a buble sort.

Sudo

is next.y position < this.y Position
Yes: this.index = next.index, next.index = this.index

ect...

That way it resorts the index of the panels (Which is what is used when looping through controls.

You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article