C# 如何在winform中同时显示两个图像
在winforms中,我有两个图片框,一个用于肖像,另一个用于风景。 不要更改文件的大小,或者由于某些原因他们不能同时下载 假设先下载肖像图像,现在我点击更新按钮,它显示肖像图像, 第二张图片下载后,当我点击更新按钮时,它只显示风景图片 我需要两个图像应该显示,下载两个图像后,但在我的情况下,它只显示一个图像(最新下载的图像) 我该怎么办,这是代码C# 如何在winform中同时显示两个图像,c#,winforms,C#,Winforms,在winforms中,我有两个图片框,一个用于肖像,另一个用于风景。 不要更改文件的大小,或者由于某些原因他们不能同时下载 假设先下载肖像图像,现在我点击更新按钮,它显示肖像图像, 第二张图片下载后,当我点击更新按钮时,它只显示风景图片 我需要两个图像应该显示,下载两个图像后,但在我的情况下,它只显示一个图像(最新下载的图像) 我该怎么办,这是代码 private void DisplayLogos(LogoHeader imageHeader) { if (image
private void DisplayLogos(LogoHeader imageHeader)
{
if (imageHeader.carId == 2)
{
PortraitLabel.Text = "Portrait Image";
PortraitLabel.Visible = true;
MemoryStream ms = new MemoryStream(imageHeader.Images.First());
Image image = Image.FromStream(ms);
Bitmap bmp = new Bitmap(image);
PortraitPictureBox.Image = image;
PortraitPictureBox.Visible = true;
}
else if (imageHeader.carId == 1)
{
LandscapeLabel.Text = "Landscape Image ";
LandscapeLabel.Visible = true;
MemoryStream ms = new MemoryStream(imageHeader.Images.First());
LandscapePictureBox.Image = Image.FromStream(ms);
LandscapePictureBox.Visible = true;
}
}
public class LogoHeader
{
public LogoHeader(Access au, int Id)
{
carId = Id;
}
public int carId { get; set; }
public byte[] image{ get; set; }
public List<byte[]> Images
{
get
{
List<byte[]> logos = new List<byte[]>();
logos.Add(image);
return logos;
}
}
}
private void DisplayLogos(LogoHeader imageHeader)
{
如果(imageHeader.carId==2)
{
肖像标签。Text=“肖像图像”;
可见=真;
MemoryStream ms=新的MemoryStream(imageHeader.Images.First());
Image=Image.FromStream(毫秒);
位图bmp=新位图(图像);
PictureBox.Image=图像;
PictureBox.Visible=true;
}
else if(imageHeader.carId==1)
{
LandscapeLabel.Text=“景观图像”;
LandscapeLabel.Visible=true;
MemoryStream ms=新的MemoryStream(imageHeader.Images.First());
Landscape PictureBox.Image=Image.FromStream(毫秒);
Landscape PictureBox.Visible=真;
}
}
公共类标识头
{
公共LogoHeader(访问au,内部Id)
{
carId=Id;
}
public int carId{get;set;}
公共字节[]映像{get;set;}
公共列表图像
{
得到
{
列表徽标=新列表();
logo.Add(图像);
返回标识;
}
}
}
为了保留无法关闭(或更改)流的图像,只需创建另一个图像即可
private void DisplayLogos(LogoHeader imageHeader)
{
if (imageHeader.carId == 2)
{
PortraitLabel.Text = "Portrait Image";
PortraitLabel.Visible = true;
MemoryStream ms1 = new MemoryStream(imageHeader.Images.First());
Image image = Image.FromStream(ms1);
Bitmap bmp = new Bitmap(image);
PortraitPictureBox.Image = image;
PortraitPictureBox.Visible = true;
}
else if (imageHeader.carId == 1)
{
LandscapeLabel.Text = "Landscape Image ";
LandscapeLabel.Visible = true;
MemoryStream ms2 = new MemoryStream(imageHeader.Images.First());
LandscapePictureBox.Image = Image.FromStream(ms2);
LandscapePictureBox.Visible = true;
}
}
为了保留无法关闭(或更改)流的图像,只需创建另一个图像即可
private void DisplayLogos(LogoHeader imageHeader)
{
if (imageHeader.carId == 2)
{
PortraitLabel.Text = "Portrait Image";
PortraitLabel.Visible = true;
MemoryStream ms1 = new MemoryStream(imageHeader.Images.First());
Image image = Image.FromStream(ms1);
Bitmap bmp = new Bitmap(image);
PortraitPictureBox.Image = image;
PortraitPictureBox.Visible = true;
}
else if (imageHeader.carId == 1)
{
LandscapeLabel.Text = "Landscape Image ";
LandscapeLabel.Visible = true;
MemoryStream ms2 = new MemoryStream(imageHeader.Images.First());
LandscapePictureBox.Image = Image.FromStream(ms2);
LandscapePictureBox.Visible = true;
}
}
谢谢,这里我添加了一个条件,如果CarId==2,那么它是纵向图像,如果横向图像下载它跳过纵向,并且vise Versa谢,这里我添加了一个条件,如果CarId==2,那么它是纵向图像,如果横向图像下载它跳过纵向,并且vise versaDo我遵循任何设计模式,为了工作,为了工作,我遵循任何设计模式