Есть форма, которая представляет собой карту мира, в левом нижнем углу есть groupbox с информацией о странах. Есть функция масштабирования, при которой появляются полосы прокрутки. Проблема в том, что при прокрутке перемещается и сам groupbox. Получается, что если прокрутить изображение вниз, то groupbox уедет наверх. Как можно его закрепить, чтобы он всегда оставался в одном положении?
GroupBox создаю в конструкторе, не динамически. И полосы прокрутки появляются благодаря свойству AutoScroll элемента Panel. Сам gropubox расположен на picturebox, который в свою очередь расположен на panel.
Часть, где происходит масштабирование:
public partial class Form1 : Form
{
// public static Bitmap myBitmap = new Bitmap("img\\BigMap.png");
public static Bitmap myBitmap = new Bitmap("img\\BigMap.png");
public static Bitmap myBitmapScale1 = new Bitmap("img\\BigMap.png");
public static Bitmap myBitmapScale2 = new Bitmap("img\\BigMapScale2.png");
public Graphics pctMap;
public bool CheckClick = false;
public Form1()
{
InitializeComponent();
AutoSize = true;
//pctMap = this.pictureBox1.CreateGraphics();
pictureBox1.Size = ClientSize;
//pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
panel2.AutoScroll = true;
pictureBox1.MouseWheel += pictureBox1_MouseWheel;
}
//Масштабирование
double scale = 1.0;
private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
{
if (e.Delta > 0) //scroll
{
if (scale < 2)
{
scale += 1;
if (scale == 2)
{
myBitmap = myBitmapScale2;
pictureBox1.Width = myBitmap.Width;
pictureBox1.Height = myBitmap.Height;
pictureBox1.Refresh();
}
}
}
else if (e.Delta < 0)//unscroll
{
if (scale > 1)
{
scale -= 1;
if (scale == 1)
{
myBitmap = myBitmapScale1;
pictureBox1.Size = ClientSize;
panel2.Width = 1920;
panel2.Height = 1022;
pictureBox1.Refresh();
}
}
}
}
Знаю, есть getBoundingClientRectЭта штука даёт возможность определить расстояние до краёв на странице, относительно опорного тега
Хочу узнать из функции которую вызвали, кто именно её вызвал, и чтобы можно было обращаться к этой функции и к её prototype