PDA

View Full Version : تغيير تصوير toolStripStatusLabel1 از فرم ديگر



S_VB.max
یک شنبه 26 اردیبهشت 1389, 11:59 صبح
سلام
من با دستور زير تصوير PictureBox1 را بدون مشكل عوض مي كنم :



((Application.OpenForms["MDIParent1"] as MDIParent1).Controls["PictureBox1"] as PictureBox).Image = Image.FromFile(@"c:\2.jpg");



اما وقتي اين كد را براي toolStripStatusLabel1 اجرا مي كنم خطا ميده :

((Application.OpenForms["MDIParent1"] as MDIParent1).Controls["toolStripStatusLabel1"] as ToolStripStatusLabel).Image = Image.FromFile(@"c:\smile.gif");

لطفا راهنمايي كنيد

M.YasPro
یک شنبه 26 اردیبهشت 1389, 12:08 عصر
سلام
اینو امتحان کنید :


(((Application.OpenForms["MDIParent1"] as MDIParent1).Controls["ContainerControl"] as ToolStrip).Controls["toolStripStatusLabel1"] as ToolStripStatusLabel).Image = Image.FromFile(@"c:\smile.gif");

S_VB.max
یک شنبه 26 اردیبهشت 1389, 12:20 عصر
بازم خطا داره:


Cannot convert type 'System.Windows.Forms.Control' to 'System.Windows.Forms.ToolStripStatusLabel' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion

M.YasPro
یک شنبه 26 اردیبهشت 1389, 12:24 عصر
یه بار کد بالا رو ویرایش کردم اون رو اعمال کردید ؟

S_VB.max
یک شنبه 26 اردیبهشت 1389, 12:30 عصر
امتحانش كردم ولي مشكل همچنان پا برجاست

M.YasPro
یک شنبه 26 اردیبهشت 1389, 12:37 عصر
به جای ContainerControl چی نوشتید ؟ نام کنترل ToolStrip ی رو که میخواید label داخل اون رو تغییر بدید نوشتید دیگه ؟

S_VB.max
یک شنبه 26 اردیبهشت 1389, 12:42 عصر
به جاي ContainerControl نام كنترل را نوشتم يعني statusStrip را نوشتم

M.YasPro
یک شنبه 26 اردیبهشت 1389, 13:10 عصر
(((Application.OpenForms["MDIParent1"] as MDIParent1).Controls["ContainerControl"] as StatusStrip).Controls["toolStripStatusLabel1"] as ToolStripStatusLabel).Image = Image.FromFile(@"c:\smile.gif");

S_VB.max
یک شنبه 26 اردیبهشت 1389, 13:17 عصر
بازم فرقي نكرد !!!

M.YasPro
یک شنبه 26 اردیبهشت 1389, 13:26 عصر
ارورش رو بگید

S_VB.max
یک شنبه 26 اردیبهشت 1389, 13:35 عصر
Cannot convert type 'System.Windows.Forms.Control' to 'System.Windows.Forms.ToolStripStatusLabel' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion

mohamad_ice
یک شنبه 26 اردیبهشت 1389, 13:37 عصر
بهترین کار اینه که به کانستراکتور کلاسی که میخواهید ازاون به شی status دسترسی داشته باشید
یه رفرنس اضافه کنید
بعد از رفرنس ایجاد شده تغییرات دلخواهرا انجام دهید

البته اینکه شما میگیر خطا میده به احتمال زیاد عدم دسترسی یه شی مورد نظر نیست(چون به picturebox دسترسی دارید)
همونطور که دوست عزیزمون گفتن اررور را بنویسید...

====================================
+اررور به جهت عدم سازگاری status با Controlsمی باشد(دو کلاس متفاوت هستند وقابل تبدیل نیستند)


همون راه حلی که گفتم کارسازه 100%