Click here to Skip to main content
13,055,047 members (61,172 online)
Rate this:
Please Sign up or sign in to vote.

I have defined my C# User Control with the property AutoScroll = True.
the user has an option to add images dynamically to this control, and the new image location is next to the last image, in its right side.
I do it by setting the Location property of the new image, and maintaining a variable with the next horizontal location.
I do it like this:

public void AddImage(Image importedImage)
      MyImage myImageElement = new myImage();
      myImageElement.Location = new Point(nextImageLocationHorizontal, 0);
      nextImageLocationHorizontal += 30;

As I said, the control has AutoScroll set as True.

If I don't move the horizontal scroll bar, everything works fine and all the images are being put exactly at the place where they have to be.

The problem begins when I move the scroll bar to the right and add an image.
The new image location is being calculated relative to the CURRENT most left point of the control (after moving the scroll bar to the right), and not from the ABSOLUTE most left point of the control (which is the most left point before I moved the scroll bar).

In other words, instead of calculate the new location as
new location = 0 + nextImageLocationHorizontal;

(while 0 is the absolute most left point)
the calculation that being made is
new location = Scroll_bar_current_location + nextImageLocationHorizontal;

How can I change the calculation to be from the absolute most left point?

Posted 23-Oct-12 21:17pm

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 24 Oct 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100