The ListBox has its SORTED property set equal to TRUE, or such a question could not be asked, as we would have no idea what order certain events had to happen in. 1. The Form_Load event occurs. ListBox displays Dances With Wolves DWW Ghostbusters GB Pretty Woman PW Form_Load is an event, the FIRST event that happened since the program was started up! 2. The lstTitlesOut_Click event occurs when User clicks on DWW the user clicks on Dances with Wolves in the lstTitlesOut ListBox. The 0 means its at the VERY TOP of the listbox. Saying the user clicked on Dances With Wolves is enough of an answer. Since Dances With Wolves had 0 next to it in the Immediate Window, we know it had to be clicked BEFORE Abbott and Costello Meet, About Last Night, and Babbettes Feast were rented. 3. Pretty Woman is clicked, WHILE HOLDING DOWN User the Ctrl (Control) key. This allowed the Ctrl + Clicks on PW user to select Pretty Woman in addition to what was already selected. Incidently, the 2 after Pretty Woman indicates it was clicked before any additional movies that preceed it in alphabetical order had been rented. If the user had held down the SHIFT key, then Shift + Click the step #4 output would have included the Ghostbusters, cause SHIFT click selects everthing in between the starting selection point and the Shift + Click object. 4. The user clicked the Print Selected button. The code clearly shows the word Selected and the *** are printed only by that event procedure. Only DWW and PW got printed, so we know step #3 above had to be a Ctrl + Click! 5. User rented the About Last Night movie. --------> 0 ABOUT LAST NIGHT 1 DWW 6. User clicked on the Ghostbusters movie. It ----> 2 GB moved up to positon #3, which is index value 3 PW 2, because of the rental of some movie which is alphabetically ahead of it in the SORTED listbox. 7. User did Remove Tape button, deleting the ---> 0 About Last Night Ghostbusters movie from the listbox. 1 DWW Pretty Woman moves up to index value 2 ---> 2 PW Pretty Woman 8. Pretty Woman is clicked. 9. Print Selected command button is clicked, and the Pretty Woman movie is printed to the Immediate window with the Selected *** message. ------------ 10. Remove Tape button is done, removing the About Last Night Pretty Woman tape from the ListBox. Dances With Wolves 11. About Last Night is clicked. Since it is at position 0, we know Abbot and Costello could not have been rented yet. 12. Abbott and Costello Meet Frankenstein ----> 0 AbbottCosMeet is rented. Lets call it 1 About Last Night AbbottCosMeet. 2 Dances With Wolves 13. Print the List button is clicked, and we see all three movies printed out, just the movie names. 14. Wings of Desire is rented. ---> 0 Abbott and Costello Meet 1 About Last Night 15. Wings of Desire is clicked on. 2 Dances With Wolves 3 Wings of Desire 16. Babbettes Feast is rented. ---> 0 Abbott and Costello Meet 1 About Last Night 2 Babbettes Feast 3 Dances With Wolves 4 Wings of Desire This is the only possible order in which the 16 different events could have occurred, up until the moment that you see the screen snapshot of the running program. The best way to solve this problem in the least amount of time would be to first list all the events that had to have happened, WITHOUT ANY REGARD FOR THE ORDER they happened. Only after that, figure out which things had to occur before which other things. This is separation of concerns, and is central to successful problem solving and programming. Very vigorous separation of your concerns. TVV-SO-YMDC... To Very Vigorous Separation Of Your Many Different Concerns. One concern: Knowing what happened, what events happened. 2nd concern: Putting it in proper sequence and order. These two concerns are related, but can be dealt with separately. Divide and conquer is a very important strategy in algorithms and problem solving.