PDA

View Full Version : پیدا کردن تمام اجزای داخل فرم



AmirAlimadadi
دوشنبه 24 فروردین 1388, 13:22 عصر
با سلام
من می خوام بدونم که چه طور می شه که تمامی component های موجود در یک فرم رو در داخل خود فرم به دست بیارم، کد زیر رو در سازنده فرم بعد از InitializeComponent نوشتم ولی ایراد می گیره.
foreach (Button btn in this) مثلا می خوام تمام button ها رو توی فرم به دست بیارم

NewFoxStudent
دوشنبه 24 فروردین 1388, 13:35 عصر
foreach (Control c in this.Controls)
{
if (c is Button)
{
}
}

seven7777777
دوشنبه 24 فروردین 1388, 15:45 عصر
دوست عزیز خطای کد شما از این بابت هست که هنوز فرم و محتوایی ایجاد و load نشده که شما آنها را بیابید .
پاسخ صحیح کد newfoxstudent در رویداد load یا رویدادهای دیگر است .

AmirAlimadadi
دوشنبه 24 فروردین 1388, 15:56 عصر
ممنون دوست من، اما من این کد رو بعد از intializecomponent در constructor فرم می نویسم، اصولا بعد از این تابع بایست که تمام اجزای یه فرم درست شده باشد، اما نمی دونم چرا این خطا رو می گیره

NewFoxStudent
دوشنبه 24 فروردین 1388, 16:00 عصر
پیدا کردن تمام اجزای داخل فرم
با سلام
من می خوام بدونم که چه طور می شه که تمامی component های موجود در یک فرم رو در داخل خود فرم به دست بیارم، کد زیر رو در سازنده فرم بعد از InitializeComponent نوشتم ولی ایراد می گیره.
foreach (Button btn inthis) مثلا می خوام تمام button ها رو توی فرم به دست بیارم


کدی که شما نوشتید هیچ جا درست کار نمیکنه
بجاش باید از این استفاد کنید


foreach (Button b in this.Controls)
MessageBox.Show(b.Text);

seven7777777
دوشنبه 24 فروردین 1388, 18:52 عصر
من فکر کردم که شما فقط تکه ای ا کدتون رو نوشتید اما با اان که newfoxstudent گفت ، فهمیدم .
حق با newfoxstudent هست .