आप Bitmap
class का एक उदाहरण बनाने के लिए, constructor overload कि डिस्क पर एक फ़ाइल से एक छवि को लोड करता है का उपयोग कर सकते है। चूंकि आपका कोड अब लिखा गया है, आप PictureBox.Image
संपत्ति का उपयोग करने की कोशिश कर रहे हैं जैसे कि यह विधि था।
(स्वयं Dispose
विधि बुला से, using
statement का लाभ भी ले रही है उचित निपटान सुनिश्चित करने के लिए नहीं बल्कि) इस तरह देखने के लिए अपने कोड में परिवर्तित करें:
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);
}
}
}
बेशक
, कि प्रदर्शन के लिए नहीं जा रहा है छवि को अपने फॉर्म पर कहीं भी क्योंकि आपके द्वारा बनाए गए चित्र बॉक्स नियंत्रण को फ़ॉर्म में जोड़ा नहीं गया है। आपको Add
method का उपयोग करके फ़ॉर्म के Controls
collection पर अभी बनाया गया नया चित्र बॉक्स नियंत्रण जोड़ने की आवश्यकता है। रेखा से ऊपर कोड यहाँ करने के लिए जोड़ा नोट:
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);
}
}
}
स्रोत
2011-05-25 10:33:15
आपको कौन सी त्रुटि मिली? – hemp
आपको क्या त्रुटि मिली? –
आपको इसका निपटान करने के लिए एक उपयोग कथन में अपना OpenFileDialog भी लपेटना चाहिए। यह गारंटी देता है कि यदि आप इसके निष्पादन के दौरान त्रुटि में भाग लेते हैं तो संवाद ठीक से निपटान किया जाता है, जहां आपका मैन्युअल निपटान निष्पादित नहीं होगा। –