C#中怎么使一幅图片直接在picturebox里显示出来

如题所述

第1个回答  2010-10-23
楼上的方法管用。还有两个方法,如果你是把picturebox控件从控件栏拖入Form上,那么picturebox右上方有个向右的小箭头,点击就有设置图片。
另外就是点击picturebox控件,visual studio 的右下方将会有属性栏,里面选择backimage。本回答被提问者和网友采纳
第2个回答  2010-10-23
右键picturebox,在背景图片中选择你要的图片即可
第3个回答  2015-11-11
class ImgCtr : UserControl
{
private Image m_Image;
private float m_Scale;
public ImgCtr()
{
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.ResizeRedraw, true);
this.m_Scale = 1.0f;
}
public Image Image
{
get
{
return m_Image;
}
set
{
m_Image = value;
SizeF size = new SizeF(this.m_Image.Width * this.m_Scale, this.m_Image.Height * this.m_Scale);

this.AutoScrollMinSize = Size.Ceiling(size);
}
}
public void ScaleImage(float scale)
{
SizeF size = new SizeF(this.m_Image.Width * this.m_Scale, this.m_Image.Height * this.m_Scale);
this.AutoScrollMinSize = Size.Ceiling(size);
this.Invalidate();
}
protected override void OnMouseDown(MouseEventArgs e)
{
if (this.CanFocus)
{
this.Focus();
}
base.OnMouseDown(e);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);

PointF start = new PointF(this.AutoScrollPosition.X / this.m_Scale, this.AutoScrollPosition.Y / this.m_Scale);
this.drawImage(e.Graphics, start);
}

private void drawImage(Graphics g, PointF start)
{
g.ScaleTransform(this.m_Scale, this.m_Scale, MatrixOrder.Append);
g.DrawImage(this.m_Image, start.X, start.Y, this.m_Image.Width, this.m_Image.Height);
g.DrawRectangle(SystemPens.Desktop, start.X, start.Y, this.m_Image.Width - 1, this.m_Image.Height - 1);
}
}
相似回答