以新形式打开图像c#

时间:2012-05-10 14:42:54

标签: c# winforms

我有一张图片显示在

picShowPicture.Image = Image.FromFile(textbox1.Text)

当图像显示在主屏幕上时,我想要的是当用户从数据库中选择图像时,它会在新窗口中打开吗?

这是怎么做到的?

6 个答案:

答案 0 :(得分:4)

在Designer中创建一个新表单并在其中选择 PictureBox 。并创建一个特殊的方法,例如

public void SetPicture(Image image) 

将图像设置为PictureBox。

选择图片电话

YourForm form = new TourForm();
form.SetPicture(Image.FromFile(textbox1.Text));
form.ShowDialog();

或者你可以在动态创建新形式:

Form form = new Form();

PictureBox pictureBox = new PictureBox();
pictureBox.Dock = DockStyle.Fill;
pictureBox.Image = Image.FromFile(textbox1.Text);
pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
form.Controls.Add(pictureBox);

form.ShowDialog();

答案 1 :(得分:2)

我将假设通过“从数据库中选择一个图像”意味着您(de)序列化BLOB并且只是希望代码使图像显示在一个新窗口中。我将进一步假设您在项目中创建了第二个表单,名为“Form2”,其中包含一个名为“picImageViewerOnForm2”的图像查看器。

var newImage = Image.FromFile(textbox1.Text);
var newForm = new Form2();

newForm.picImageViewerOnForm2.Image = newImage;
newForm.Show();

答案 2 :(得分:1)

将新的Windows窗体添加到项目中,名为“ShowImageWindow”。 将一个图片框添加到窗口,以及以下代码:

public Image ImageToShow { get; set; }


public ShowImageWindow()
{
    InitializeComponent();
}

private void ShowImageWindow_Load(object sender, EventArgs e)
{
    pictureBox1.Image = ImageToShow;
}

然后按如下所示创建并显示窗口:

Image img = Image.FromFile(textBox1.Text);
ShowImageWindow frm = new ShowImageWindow();
frm.ImageToShow = img;
frm.ShowDialog();
frm.Dispose();

答案 3 :(得分:1)

将表单添加到应用程序并将PictureBox放在其上,假设PictureBox的ID为“pictureBox1”,然后在该表单上创建公共保护以访问picutre框,如下所示:

public partial class ShowPictureForm : Form
{
  public PictureBox ImagePictureBox { get { return this.pictureBox1; } }

  public ShowPictureForm()
  {
    InitializeComponent();
  }
}

然后显示这样的新形式:

ShowPictureForm spf = new ShowPictureForm();
spf.ImagePictureBox.Image.FromFile(textbox1.Text)
spf.ShowDialog();

答案 4 :(得分:0)

创建一个新的Form(从System.Windows.Forms.Form派生的新类型),它接受图像路径作为构造函数。

说新形式是ImageForm。在此表单中创建PictureBox。

在ShowImageWindow函数中(或类似于主窗体),如下所示调用

ImageForm imageForm = new ImageForm(textbox1.Text)  
imageForm.ShowDialog()

在ImageForm的ctor中,将Image设置为ImageForm中的picturebox控件

 public ImageForm(String imagePath)
 {
   pictureBox1.Image = Image.FromFile(imagePath);
 }

答案 5 :(得分:0)

  1. 创建一个只包含图片框的新表单。

  2. 然后在形成对象时将图像传递为参数(当然您必须创建表单的参数化构造函数)并将该图像传递给全局图像变量。

  3. 在Form_Load中设置全局图像变量作为图像控制图像。