1

我有一张图片显示在

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

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

这是怎么做的?

4

6 回答 6

4

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

public void SetPicture(Image image) 

这会将图像设置为 PictureBox。

在选择图片通话时:

YourForm form = new YourForm();
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();
于 2012-05-10T14:46:50.053 回答
2

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

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

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

于 2012-05-10T14:52:03.703 回答
2

将Form添加到应用程序并在其上放置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();
于 2012-05-10T14:54:46.867 回答
1

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

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();
于 2012-05-10T14:52:59.227 回答
0

创建一个接受图像路径作为构造函数的新表单(从 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);
 }
于 2012-05-10T14:47:35.710 回答
0
  1. 创建一个只有图片框的新表单。

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

  3. 在 Form_Load 中,将该全局图像变量设置为您的图像控制图像。

于 2012-05-10T14:48:29.553 回答