PDA

View Full Version : سوال: مشکل در picturebox



elezoos
سه شنبه 14 بهمن 1393, 19:27 عصر
سلام....من برنامه ای میخواهم بنویسم که با استفاده از directoryinfo و fileinfo اسم فایل های عکس ام در یه فولدر ،در list box نمایش داده بشه...ولی نمی دونم چه طور میشه با انتخاب یکی از اسم های فایل عکس در لیست باکس این عکس در یک picturebox نمایش داده بشه...
خیلی ممنون میشم اگه کسی راهنمایی کنه.....

بیتا حکمت
سه شنبه 14 بهمن 1393, 20:48 عصر
سلام . به این صورت باید استفاده کنید .




private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

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






اگه مشکلی بود بگین تا فایل رو براتون آپلود کنم.

elezoos
سه شنبه 14 بهمن 1393, 21:47 عصر
خیلی ممنون خانم بیتا...ولی تو picturebox فقط یه علامت ضربدر میاد...یعنی عکس و نشون نمیده...میدونید علتش چیه؟؟؟؟؟:متفکر:

بیتا حکمت
سه شنبه 14 بهمن 1393, 21:55 عصر
خیلی ممنون خانم بیتا...ولی تو picturebox فقط یه علامت ضربدر میاد...یعنی عکس و نشون نمیده...میدونید علتش چیه؟؟؟؟؟:متفکر:

علتش اینکه مسیری که به picturebox دادین صحیح نیست . با کد پایین باید عکسا رو به لیست باکس اضافه کنید. البته به جای مسیری که من نوشتم شما مسیر پوشه خودتو بنویسید



string folder = @"C:\Users\Public\Pictures\Sample Pictures";
string[] imgfiles = Directory.GetFiles(folder, "*.jpg");

listBox1.Items.AddRange(imgfiles);

elezoos
سه شنبه 14 بهمن 1393, 22:31 عصر
private void button1_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dfi = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] fi =dfi.GetFiles();
foreach (FileInfo d in fi)
{
listBox1.Items.Add(d.Extension);


}


من با این کد ها فایل های عکس رو تو لیست بکس گذاشتم...حالا فقط میخوام با کلیک رو هر فایل jpg اون عکسو تو Picturebox نشون بده....
ببخشید که وقتتونو گرفتم

بیتا حکمت
سه شنبه 14 بهمن 1393, 22:57 عصر
تو لیست باکس شما فقط اسم فایل افتاده بود و مسیر فایل نبود ، به خاطر همین نشون نمی داد.
حتما" برا کادر folderBrowserDialog1 فیلتر هم بزارین که فقط فایل های عکس رو باهاش انتخاب کرد .
وقت هم قابل شما رو نداره d: . منم از دوستان دیگر کمک می گیرم .شما به دوستان دیگر کمک می کنید و
چرخه این امر خیر ادامه داره ..
موفق باشید.




if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dfi = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] fi =dfi.GetFiles();
foreach (FileInfo d in fi)
{
listBox1.Items.Add(d.FullName);
}

}



راستی کدهای رو که میخواین تو برنامه نویس بزارین داخل تگ کد بزارین که مظنم دیده بشن . کافیه روی علامت # که تو ادیتور هست کلیک کنید

بیتا حکمت
سه شنبه 14 بهمن 1393, 23:05 عصر
پس اگه جوابی پیدا کردید به من اظلاع بدید لطفا...خیلی ممنون

عه، جوابشو براتون نوشتم که . اگه دقت کنین اون کدی رو که بالا نوشتم یه خطش با کد شما فرق می کنه .



listBox1.Items.Add(d.FullName);

elezoos
سه شنبه 14 بهمن 1393, 23:20 عصر
ببخشید میشه نحوه فیلتر کردن و بگید؟

بیتا حکمت
چهارشنبه 15 بهمن 1393, 07:30 صبح
ببخشید میشه نحوه فیلتر کردن و بگید؟

واقعتش اینو دیگه خودمم بلد نیستم ، با کد پایین که براتون نوشتم میشه فقط عکسای Jpg رو لیست کرد ، اما مشکلش اینکه همزمان نمیشه از فرمت های تصویری دیگر استفاده کرد . یک رووش دیگه اینکه بررسی بشه ببینی فایلی پسوندش چیه ، اگر جزء پسوندهای مجازی که تعیین کردی نیست ، از اضافه شدنش جلوگیری بشه اما اینم اصولی نیست .
از دوستان حرفه ای اگه کسی می دونه ممنون میشم یاد بده.




if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dfi = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] fi = dfi.GetFiles("*.jpg");

foreach (FileInfo d in fi)
{
listBox1.Items.Add(d.FullName);
}

Mahmoud Zaad
چهارشنبه 15 بهمن 1393, 12:30 عصر
با سلام
این لینک (http://stackoverflow.com/questions/3527203/getfiles-with-multiple-extentions) رو نگاه کنید.