PDA

View Full Version : سوال: اشکال این زیر برنامه کجاست؟



salehvasaleh
سه شنبه 12 مرداد 1389, 17:31 عصر
دوستان در فایلی که در زیر می بینید یه فرم هست که توی فرم از دکمه انتخاب تصویر نامه یک سری تصویر به لیست باکس اضافه می شه وقتی هم روی اون کلیک می شه تصویر نشون داده می شه اما مشکلم اینه وقتی می خوام اون رو حذف کنم چون در حال نمایش هست ارور می ده چه راه کاری سراغ دارید؟ممنون

http://www.persiangig.com/pages/download/?dl=http://salehsabz.persiangig.com/WindowsFormsApplication4.rar

karim_medusa
سه شنبه 12 مرداد 1389, 17:56 عصر
به صورت زیر اصلاح کردمش !


private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
{
using (Stream s = File.Open(listBox1.SelectedItem.ToString(), FileMode.Open))
{
pictureBox1.Image = Image.FromStream(s);
}
}
else
pictureBox1.Image = null;
}

private void button4_Click(object sender, EventArgs e)
{
try
{

if (listBox1.SelectedIndex != -1)
System.IO.File.Delete(listBox1.SelectedItem.ToStri ng());
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Refresh();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}

مهدی فرزاد
سه شنبه 12 مرداد 1389, 18:16 عصر
اینم هست


public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
try
{
openFileDialog1.Multiselect = false;
 
 
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
foreach (string c in openFileDialog1.FileNames)
{
listBox1.Items.Add(c);
}
}
}
catch
{
MessageBox.Show("عکسی دریافت نشد");
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.Items.Count != 0 && listBox1.SelectedItem != null)
pictureBox1.ImageLocation = (listBox1.SelectedItem.ToString());
}
private void button4_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count != 0 && listBox1.SelectedItem != null)
{
pictureBox1.ImageLocation = null;
System.IO.File.Delete(listBox1.SelectedItem.ToStri ng());
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Refresh();
}
}
private void button5_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count != 0 && listBox1.SelectedItem != null)
listBox1.Items.Remove(listBox1.SelectedItem);
}
}

salehvasaleh
سه شنبه 12 مرداد 1389, 18:25 عصر
به صورت زیر اصلاح کردمش !


private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
{
using (Stream s = File.Open(listBox1.SelectedItem.ToString(), FileMode.Open))
{
pictureBox1.Image = Image.FromStream(s);
}
}
else
pictureBox1.Image = null;
}

private void button4_Click(object sender, EventArgs e)
{
try
{

if (listBox1.SelectedIndex != -1)
System.IO.File.Delete(listBox1.SelectedItem.ToStri ng());
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Refresh();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}

می شه برنامه ای که اطلاح کردید رو لطف کنید آپلود کنید؟به مشکلی بر خوردم که ظاهرا نمی تونم پیداش کنم. ممنون می شم برنامه اطلاح شده رو آپلود کنید.

مهدی فرزاد
سه شنبه 12 مرداد 1389, 18:40 عصر
مشکل تو توی pictureBox1.Image بود که من به شکل زیر اصلاح کردم این چند تا if رو هم که گذاشتم برای رفع خطا ها بود اینو انجام بده مشکل نداره

pictureBox1.ImageLocation = (listBox1.SelectedItem.ToString());

در ضمن قبل از دلیت کردن باید بنویسی
pictureBox1.ImageLocation = null;

karim_medusa
چهارشنبه 13 مرداد 1389, 07:26 صبح
ضمیمه کردم.