2012-05-10 2 views
1

У меня есть изображение, показывающее вОткрыть изображение в новом виде C#

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

На данный момент изображение показывает на главном экране, что я хочу, когда пользователь выбирает изображение из базы данных, то затем открыть в новом окне?

как это делается?

ответ

2

Я собираюсь сделать предположение о том, что «выбирает изображение из базы данных» делает не означает, что вы (де) сериализации объектов BLOB и просто хочу код, чтобы сделать изображение на дисплее в новое окно. Я также предполагаю, что у вас есть вторая форма, созданная в вашем проекте под названием «Form2» с помощью средства просмотра изображений, называемого «picImageViewerOnForm2».

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

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

3

Создайте новую форму в Дизайнере и выберите 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(); 
+0

Загружается новая форма, но изображения отсутствуют. –

+0

Можете ли вы добавить код новой созданной формы и код ее создания и показа. – igofed

+0

Я только что скопировал прямо из этого примера, и когда я нажимаю кнопку, открывается новая форма с чем-либо внутри. –

0

Создать новую форму (новый тип, полученный из System.Windows.Forms.Form), которые принимают путь изображения как конструктор.

Скажем, новая форма - ImageForm. Создайте PictureBox внутри этой формы.

в функции ShowImageWindow (или аналогичный, в основной форме), вызов, как следующие

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

В CTOR из ImageForm, установить изображение в систему управления PictureBox внутри ImageForm

public ImageForm(String imagePath) 
{ 
    pictureBox1.Image = Image.FromFile(imagePath); 
} 
0
  1. Создайте новую форму, в которой есть только окно с изображением.

  2. Затем при формировании этого объекта формы передают изображение как параметр (конечно, вам нужно создать параметризованный конструктор вашей формы) и передать это изображение в глобальной переменной изображения.

  3. В Form_Load установлена ​​эта глобальная переменная изображения, так как ваше изображение управляет изображением.

0

Добавить новую форму Windows в свой проект, названный "ShowImageWindow". Добавить PictureBox к окну, и следующий код:

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(); 
1

Добавить форму для заявки и поставить PictureBox на него, скажем, что ID из PictureBox является «pictureBox1», а затем создать общественное proterty на эту форму, чтобы получить доступ к 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(); 
+0

Говорит, что недоступен из-за уровня защиты –

+0

на какой строке ошибка? –

+0

на picturebox1 –

Смежные вопросы