我的窗體中有一個PictureBox控件,其中有一個可移動的矩形在其中繪製,當圖片框大小大於特定大小滾動條時,我的圖片框大小將根據矩形的位置增加。如何滾動增加在Windows窗體c#中的圖片大小?
public void PicBox_MouseDown(object sender, MouseEventArgs e)
{
if (rect.Contains(new Point(e.X, e.Y)))
{
mMove = true;
}
oldX = e.X;
oldY = e.Y;
}
public void Picbox_MouseUp(object sender , MouseEventArgs e)
{
mMove = false;
}
public void Picbox_MouseMove(object sender,MouseEventArgs e)
{
if (mMove)
{
picBox.Cursor = Cursors.Cross;
rect.X = rect.X + e.X - oldX;
rect.Y = rect.Y + e.Y - oldY;
}
oldX = e.X;
oldY = e.Y;
picBox.Invalidate();
}
public void Picbox_MousePaint(object sender, PaintEventArgs e)
{
picBox.Invalidate();
picBox.Size = new Size((rect.Width + rect.X) + 10, (rect.Height + rect.Y) + 10);
Draw(e.Graphics);
}
論形式的第一顯示用的PictureBox
拖動矩形在PictureBox增加並且滾動條的大小後,會出現
一切正常這裏罰款,但我的問題ems無論pictureBox的大小是多少,滾動條都可以正常工作,但是當拖動矩形時,如果pictureBox的邊緣滿足形式,則整個滾動條被重置爲正常,通過望着下面你的照片就能明白我想說
如何解決這個問題,有另一種方式根據增加滾動pictureBox的寬度?我是新來的。
該矩形的作用就好像X座標和Y座標相對於winform而不是pictureBox被跟蹤。
我可以製作pictureBox作爲我的繪圖的父項嗎?
不知道你想要什麼,但通常的方式獲得滾動PB是把圖片框與AutoCcroll在面板內部= Panel爲真,PictureBox爲false。 – TaW
當我垂直拖動矩形時,圖片框的高度會增加,並且我將矩形的位置和高度分配給圖片框的大小,例如picturebox.Size = Rectangle.Height + Rectangle.Y,所以當圖片的高度增加時將它拖下來並滾動條顯示,但當我拖動它時,如上圖所示,當圖片框位於窗體邊緣上方時,滾動條消失。 – VINNUSAURUS
這就是你所擁有的,如果是的話,那麼問題是什麼或者你想要什麼? - 另外:什麼是'Picbox_MousePaint'和'Draw'?拖動代碼在哪裏? – TaW