छवि में बाइट्स लोड न करें, जो आप जो हासिल करने की कोशिश कर रहे हैं उसके उद्देश्य को हरा देंगे ... (ध्यान दें कि छवि को अस्थायी फ़ाइल में लाने के लिए यह एक त्वरित-गंदा है ... यहां बहुत सारे अतिरिक्त विचार हैं, जिनमें से कम से कम यह होगा कि जब आप काम पूरा कर लें तो अस्थायी फ़ाइल को हटा दें)
byte[] byteBLOBData = (byte[])ds.Tables["magazine_images"].Rows[c - 1]["image"];
string tempImageFileName = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".jpg");
using( FileStream fileStream = new FileStream(tempImageFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite) ) {
using( BinaryWriter writer = new BinaryWriter(fileStream) ) {
writer.Write(byteBLOBData);
}
}
pictureBox1.LoadCompleted += LoadCompleted;
pictureBox1.WaitOnLoad = false;
pictureBox1.LoadAsync(tempImageFileName);
...
private static void LoadCompleted( object sender, AsyncCompletedEventArgs e ) {
if( e.Error != null ) {
// will get this if there's an error loading the file
} if( e.Cancelled ) {
// would get this if you have code that calls pictureBox1.CancelAsync()
} else {
// picture was loaded successfully
}
}
यह भी देखें LoadProgressChanged
घटना