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?