PDA

View Full Version : مشکل در ناپدید شدن کنترلهای روی فرم در سی شارپ



coldsummer
شنبه 27 مرداد 1386, 00:39 صبح
سلام دوستان
من گاهی اوقات که در حال برنامه نویسی در سی شارپ هستم وقتی بعضی از فرمهای برنامه رو می خوام باز کنم می بینم که همه ی کنترلهای فرم در محیط طراحی ازبین رفته و ناپدید شده اند ولی درکد designer فرم تعریف شده هستند می خواستم اگر یکی از دوستان راه حل این مشکل رو می دونه از کمکش استفاده کنم

PC2st
شنبه 27 مرداد 1386, 13:01 عصر
این مشکل برای من خیلی زیاد پیش اومده، اگر به کدهای designer نگاه کنید، همانطور که خودتون هم متوجه شدید، کنترلها تعریف شده اند، اما کنترلها به فرم اضافه نشده اند! بعبارتی آن قسمت از کدی که کنترلها را به فرم اضافه میکند، پاک شده است (!) پس یعنی خودتون باید کنترلها رو به فرم اضافه کنید، مثلا برای دکمه button1 به شکل زیر اونرو به فرم اضافه کنید:


this.Controls.Add(button1);

البته کد فوق رو بعد از comment زیر بگذارید بهتر است.


//
// Form1
//

و کدی که کنترلها را به فرم اضافه میکند، بهتر است قبل از کد زیر نوشته شود:


this.ResumeLayout(false);

amin_hz
شنبه 27 مرداد 1386, 13:20 عصر
برای منم زیاد اتفاق افتاده. البته در زمان نوشتن کد به راحتی قابل دسترس هستند. حتی توی لیستproperties وجود دارن.

mohammad272005
دوشنبه 29 مرداد 1386, 01:51 صبح
واسه منم زیاد اتفاق افتاده ولی یه بار واسه این بود که سازنده فرم رو دستی private کرده بودم.

PC2st
دوشنبه 29 مرداد 1386, 09:35 صبح
برای من هم وقتی این اتفاق می افتاد که Resource های پروژه را بطور نادرست دستکاری میکردم!

rasoul_ras
دوشنبه 29 مرداد 1386, 10:39 صبح
عزیزان این مطمئنا یک باگ در دیزاینر C# است نمی دونم تا حالا توجه کردید که در کریستال ریپورت وقتی چند تا آیتم رو انتخاب می کنی و می خواید جا به جا کنید بعضی ها جا می مونند
من اول شک کردم به خاطر نسخه کرک شده ای که دارم ولی وقتی تریال رو نصب کردم هنوزم همون مشکل داشت البته برای دلخوشی می تونیم بگیم این باگ برای اینکه vS کرک شده ....

sm_ezadpanah
دوشنبه 29 مرداد 1386, 11:01 صبح
با سلام
تو کریستال ریپورت وقتی هم چند تا شی رو می خوای کپی بکنی نمیشه

بعبارتی آن قسمت از کدی که کنترلها را به فرم اضافه میکند، پاک شده استدلیل پاک شدنش چه

PC2st
دوشنبه 29 مرداد 1386, 11:45 صبح
دلیل پاک شدنش چه
تا جائی که یادم میاد، بعضی مواقع بخاطر دستکاری بی مورد Resource های متصل شده به کنترل ها بود (مثلا یک آیکون رو از Resource برای یک منو آیتم انتخاب میکردم، بعدا اون Resource رو تغییر نام میدادم به امید اینکه VS.NET کدها رو آپدیت کنه ولی...!) و بعضی مواقع بخاطر دستکاری در متد InitializeComponent بود (چون مثلا لازم داشتم از ارایه ای از کنترلها استفاده کنم که نمیشد چون محیط Design از VS.NET ساپورت نمیکنه و مجبور بودم در Runtime این کار رو بکنم) یکبار دیگه هم یک دلیل دیگه ای داشت که متاسفانه الان به خاطر ندارم.

sm_ezadpanah
دوشنبه 29 مرداد 1386, 12:04 عصر
با سلام
من هم چند بار این مشکل برام پیش اومد . عموما وقتی از یک فرم کپی میگرفتم و نام اون رو در قسمت پروپرتی عوض می کردم این مشکل بروز می کرد . دفعات بعدی که نام اون رو از داخل پنجره کد در قسمت
public partial class msub : Form تغییر دادم این مکل بر طرف شد .

رضا عربلو
دوشنبه 29 مرداد 1386, 21:32 عصر
برای من عموماً وقثتی اتفاثق می افتد که از کامپاننت های غیر مایکروسافتی استفاده می کنم

coldsummer
سه شنبه 30 مرداد 1386, 01:28 صبح
از راهنمایی های همه ی اساتید ممنونم