yassou
شنبه 03 فروردین 1392, 10:48 صبح
با سلام به همه ،عیدتون هم مبارک
یه سوالی که داشتم این بود که من با C#2012.net می خواستم کاری کنم که برنامم node های treeView1 رو با عکس های imageList1 ارتباط بدم .
بعنوان نمونه به کد های زیر نیگاه کنید :
(عکس شماره 6 بعنوان نمونه گذاشتم)
public partial class The_Prototype_Information : Form
{
int temp;
public The_Prototype_Information(int Tagholder)
{
InitializeComponent();
temp = Tagholder;
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void The_Prototype_Information_Load(object sender, EventArgs e)
{
imageList1.Images[6].Tag = 1;
MessageBox.Show(Convert.ToString(imageList1.Images[6].Tag)); // num 1
if (temp == Convert.ToInt32(imageList1.Images[6].Tag))
{
pictureBox1.BackgroundImage = imageList1.Images[6];
MessageBox.Show("yes");
}
else
{
MessageBox.Show("no"); // num 2
}
}
}
متغیر temp (که با Tagholder ارتباط داره از یک FORM دیگه هستش) در اینجا بعنوان Tag مربوط به Node انتخاب شده treeView1 هستش.
Tagholder شامل دستور زیر هستش :
Convert.ToInt32(treeView1.SelectedNode.Tag)
تنها روشی که فکر کردم میتونم این دوتا رو باهم ارتباط بدم ایجاد Tag چون خود Node ها گزینه Tag رو تو قسمت Edit دارن ولی عکس های Form بعدی یک همچین گزینه ای رو ندارن پس با دستور زیر براشون ایجاد کردم :
imageList[int].Images[int].Tag = 1;
پس برای عکس ها هم یه Tag انتخاب کردم تا بتونم این دو مورد رو به همدیگه ارتباط بدم .
دستور زیر رو هم برای اینکه بدونم Tag مورد نظر تو عکس مورد نظر قرار گرفته یا نه ؟
MessageBox.Show(Convert.ToString(imageList1.Images[6].Tag));
که در نهایت با تمام این توضیحات نتیجه این شد که در حالت runtime برنامه، MessageBox شماره 1 خالی چاپ میکنه و MessageBox شماره 2، No رو چاپ میکنه، که درواقع نشون میده شرط هم برقرار نمیشه ؟!
با تمام این توضیحاتی که گفتم کسی راه حلی رو برای رفع این مشکل داره ؟
ممنون میشم کمک کنید.
با تشکر .
یه سوالی که داشتم این بود که من با C#2012.net می خواستم کاری کنم که برنامم node های treeView1 رو با عکس های imageList1 ارتباط بدم .
بعنوان نمونه به کد های زیر نیگاه کنید :
(عکس شماره 6 بعنوان نمونه گذاشتم)
public partial class The_Prototype_Information : Form
{
int temp;
public The_Prototype_Information(int Tagholder)
{
InitializeComponent();
temp = Tagholder;
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void The_Prototype_Information_Load(object sender, EventArgs e)
{
imageList1.Images[6].Tag = 1;
MessageBox.Show(Convert.ToString(imageList1.Images[6].Tag)); // num 1
if (temp == Convert.ToInt32(imageList1.Images[6].Tag))
{
pictureBox1.BackgroundImage = imageList1.Images[6];
MessageBox.Show("yes");
}
else
{
MessageBox.Show("no"); // num 2
}
}
}
متغیر temp (که با Tagholder ارتباط داره از یک FORM دیگه هستش) در اینجا بعنوان Tag مربوط به Node انتخاب شده treeView1 هستش.
Tagholder شامل دستور زیر هستش :
Convert.ToInt32(treeView1.SelectedNode.Tag)
تنها روشی که فکر کردم میتونم این دوتا رو باهم ارتباط بدم ایجاد Tag چون خود Node ها گزینه Tag رو تو قسمت Edit دارن ولی عکس های Form بعدی یک همچین گزینه ای رو ندارن پس با دستور زیر براشون ایجاد کردم :
imageList[int].Images[int].Tag = 1;
پس برای عکس ها هم یه Tag انتخاب کردم تا بتونم این دو مورد رو به همدیگه ارتباط بدم .
دستور زیر رو هم برای اینکه بدونم Tag مورد نظر تو عکس مورد نظر قرار گرفته یا نه ؟
MessageBox.Show(Convert.ToString(imageList1.Images[6].Tag));
که در نهایت با تمام این توضیحات نتیجه این شد که در حالت runtime برنامه، MessageBox شماره 1 خالی چاپ میکنه و MessageBox شماره 2، No رو چاپ میکنه، که درواقع نشون میده شرط هم برقرار نمیشه ؟!
با تمام این توضیحاتی که گفتم کسی راه حلی رو برای رفع این مشکل داره ؟
ممنون میشم کمک کنید.
با تشکر .