private void pbImage_Paint(object sender, PaintEventArgs e)
        {
            foreach (var c in lbChars.Items)
            {
                CharHolder ch = c as CharHolder;
                if (ch.DrawRect.IsEmpty)
                {
                    continue;
                }

                Rectangle rect      = ch.GetRelativePosition(PicBoxRelativeImgRect);
                Rectangle imgOffset = PicBoxRelativeImgRect;
                rect.X += imgOffset.X;
                rect.Y += imgOffset.Y;

                e.Graphics.DrawRectangle(this.existentPen, rect);
            }

            if (this.startPoint.HasValue && this.endPoint.HasValue)
            {
                Rectangle rect      = GetRectanglePosition(this.startPoint.Value, this.endPoint.Value);
                Rectangle imgOffset = PicBoxRelativeImgRect;
                rect.X += imgOffset.X;
                rect.Y += imgOffset.Y;

                e.Graphics.DrawRectangle(this.drawPen, rect);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            CharHolder ch = lbChars.SelectedItem as CharHolder;

            Rectangle rect = ch.GetRelativePosition(new Rectangle(0, 0, pbImage.Image.Width, pbImage.Image.Height));

            //Rectangle imgOffset = PicBoxRelativeImgRect;
            //rect.X += imgOffset.X;
            //rect.Y += imgOffset.Y;

            MessageBox.Show(rect.ToString());
        }