J'ai besoin d'ouvrir l'image bitmap sous la forme de fenêtre en utilisant le dialogue de fichier ouvert (je le chargerai à partir du lecteur).
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image(dlg.FileName);
}
dlg.Dispose();
}
Vous devez créer une instance de la classe Bitmap
, à l'aide du constructeur surcharge qui charge une image à partir d'un fichier sur le disque. Au moment où votre code est écrit, vous essayez d'utiliser le PictureBox.Image
property comme s'il s'agissait d'une méthode.
Modifiez votre code pour qu'il ressemble à ceci (en tirant également parti de using
pour garantir une élimination appropriée, plutôt que d'appeler manuellement la méthode Dispose
):
private void button1_Click(object sender, EventArgs e)
{
// Wrap the creation of the OpenFileDialog instance in a using statement,
// rather than manually calling the Dispose method to ensure proper disposal
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
// Create a new Bitmap object from the picture file on disk,
// and assign that to the PictureBox.Image property
PictureBox1.Image = new Bitmap(dlg.FileName);
}
}
}
Bien entendu, cela ne va pas afficher l'image n'importe où dans votre formulaire, car le contrôle de zone d'image que vous avez créé n'a pas été ajouté au formulaire. Vous devez ajouter le nouveau contrôle de zone d'image que vous venez de créer à la collection Controls
du formulaire à l'aide de la méthode Add
. Notez la ligne ajoutée au code ci-dessus ici:
private void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = new Bitmap(dlg.FileName);
// Add the new control to its parent's controls collection
this.Controls.Add(PictureBox1);
}
}
}
Fonctionne bien. Essaye ça,
private void addImageButton_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
//For any other formats
of.Filter = "Image Files (*.bmp;*.jpg;*.jpeg,*.png)|*.BMP;*.JPG;*.JPEG;*.PNG";
if (of.ShowDialog() == DialogResult.OK)
{
pictureBox1.ImageLocation = of.FileName;
}
}
Vous devriez essayer de:
Dock
de picturebox sur Fill
(si vous souhaitez que l'image remplisse le formulaire)SizeMode
de la boîte à images sur StretchImage
Finalement:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox1.Image = Image.FromFile(dlg.Filename);
}
dlg.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
pictureBox1.Image = Bitmap.FromFile(open.FileName);
}
Vous pouvez aussi essayer comme ça, PictureBox1.Image = Image.FromFile("<your ImagePath>" or <Dialog box result>);
PictureBox.Image est une propriété, pas une méthode. Vous pouvez le définir comme ceci:
PictureBox1.Image = System.Drawing.Image.FromFile(dlg.FileName);
Vous pouvez essayer ce qui suit:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog fDialog = new OpenFileDialog();
fDialog.Title = "Select file to be upload";
fDialog.Filter = "All Files|*.*";
// fDialog.Filter = "PDF Files|*.pdf";
if (fDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fDialog.FileName.ToString();
}
}
C'est simple. Il suffit d'ajouter:
PictureBox1.BackgroundImageLayout = ImageLayout.Zoom;