PDA

View Full Version : سوال: نمایش تصویر با کلیک بر روی TreeNode



fa_karoon
سه شنبه 25 تیر 1392, 18:47 عصر
سلام دوستان
من یک treeView دارم می خوام وقتی کاربر روی یک Node کلیک می کنه یه چیزی مثل PictureBox کنارش ظاهر بشه و تصویری رو که بهش آدرس دادم نشون بده
یا اگر این مدلی نشد بتونم یه Node داشته باشم که بتونم تصویری رو که دارم آدرسش رو از تو بانک می خونم تو اون نشون بدم مثل یک عکس سه درچهار

خیلی گشتم به یه چیزهایی هم رسیدم اما دقیقا اونی که می خوام نمی شه
مرسی دوستان

Y_Safaiee
سه شنبه 25 تیر 1392, 19:00 عصر
سلام دوست من

راههای زیادی هست

اما اگه خود نود مسیر عکس هست میشه اینطوری کد نویسی کرد:


private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
try
{
pictureBox1.Image = Image.FromFile(e.Node.Text);
}
catch { }
}

اینطوری مسیر از نود خونده میشه و نمایش داده میشه داخل پیکچرباکس

اگه میخوای تکس تو نود هرچی باشه میتونی مسیر رو تو Tag مربوط به نود نگه داری و با استفاده از اون عکس رو نشون بدی:


private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
try
{
pictureBox1.Image = Image.FromFile(e.Node.Tag.ToString());
}
catch { }
}


برای زیباتر شدن هم میتونی کد بنویسی که وقتی رو نود موس رفت پیکچرباکس و عکس نمایش داده بشه و با رفتن روی فرم پیکچرباکس پنهون بشه :


private void treeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
try
{
pictureBox1.Visible = true;
pictureBox1.Image = Image.FromFile(e.Node.Tag.ToString());
}
catch { }
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
pictureBox1.Visible = false ;
}


موفق باشی
بایت بایت

fa_karoon
سه شنبه 25 تیر 1392, 22:05 عصر
مرسی بابت راهنمایی تون، اما ببینید مشکل من اینه که می خوام PictureBox کنار همون Nodeی که روش کلیک شده نشون داده بشه، اما وقتی فرمم رو Right TO Left می کنم نمی شه این کار رو انجام داد من خودم تو همین رویداد NodeMouseClick بهش گفتم PictureBox1.Location=e.Location اما باز کادر تصویر رو کنار گره ای که روش کلیک شده نشون نمی ده