PDA

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



shojaiehamid
جمعه 16 دی 1390, 10:42 صبح
سلام
سوالی داشتم .
برنامه ای نوشتم که با انتخاب یک فایل اکسل و خواندن اطلاعات اون یک سری اعداد به دست میاد.
با توجه با این اعداد تعدادی کنترل (کمبوباکس و لیبل) با حلقه for به صفحه اضافه می شه (حین اجرای برنامه) بعد از انجام این مراحل دکمه دیگه ای پایین فرم هست که با زدن اون دکمه اطلاعاتی که از کنترل های اضافه شده به دست میاد را در یک فایل تکس بنویسه و ذخیره کنه ...

چطوری می تونم از کنترل های اضافه شده استفاده کنم ؟

arefba
جمعه 16 دی 1390, 15:12 عصر
خوب مگه اسمشون در اختیار نداری
سعی کن یوزر کنترل بزاری تا خیلی از کارا به صورت پیشفرض انجام شه

m2_farzan
جمعه 16 دی 1390, 18:08 عصر
تمام کنترل هایی رو که به فرمت اضافه میکنی توی یک کلکسیون به نام Controls لیست میشن. مثلا این کد، تمام لیبل های موجود در فرم رو خالی میکنه:



foreach (Control a in this.Controls)
{
try
{
((Label)a).Text = "";
}
catch { }
}

امیدوارم منظور رو گرفته باشی.

shojaiehamid
جمعه 16 دی 1390, 21:44 عصر
ممنون دوست من با كدي كه نوشتيد نتونستم كاري بكنم ...
يه مشكل بزرگ اينه كه من هر كدوم از اين كمبو باكس ها را بايد در جاهاي مختلف بكار بگيرم .. ميشه يه مثال عملي بهم بديد ؟

m2_farzan
شنبه 17 دی 1390, 10:33 صبح
ببین: هربار که یک کنترل رو به فرمت اضافه میکنی، به مجموعه ی this.Controls فرمت یک کنترل اضافه میشه. مثلا وقتی فرمت خالیه، داخل this.Controls هیچی نیست. وقتی یک Label رو به فرم اضافه می کنی، (چه با کد چه با ویژوال استودیو) اون Label به کلکسیون this.Controls میره و به این صورت شناخته میشه:
this.Controls[0]

حالا کدی که من گذاشتم یکی یکی تمام کنترل های فرم رو نگاه میکنه هرکدوم Label بود، اون رو خالی میکنه.

shojaiehamid
یک شنبه 18 دی 1390, 21:47 عصر
ممنونم دوست عزیز ... متوجه کد شدم . با تاخیر تشکر منو بپذیرید .

sara_aryanfar
یک شنبه 18 دی 1390, 21:53 عصر
و یه سوال چرا از نام کنترل برا کاراتون استفاده نمی کنید

shojaiehamid
دوشنبه 19 دی 1390, 13:47 عصر
دوست عزیز پروژه ای که دارم کار می کنم یه پروژه خاص هستش در مورد کارم .
صفحه فرم من سه قسمت داره که در هر قسمت شام یک سری لیبل و دو سری کمبو باکس هستش که با توجه به داده های فایل اکسل متغیره ... از 1 لیبل و 2 کمبو باکس تا 8 لیبل و 16 کمبو باکس . حالا همینو تو سه قسمت در نظر بگیرید حجم زیادی می شه که مجبورم برای اینکه نمایش داده نشه ویزیبل هاش را فالس کنم ...

با روشی که دوستمون گفتن به راحتی می شه به تعداد نیاز کنترل را اضافه کرد و ازشون استفاده کرد .