PDA

View Full Version : سوال: استفاده از خصوصیات کنترلی که در زمان اجرا ایجاد گردیده؟



sajadjamalian
سه شنبه 27 مهر 1389, 14:32 عصر
سلام دوستان:
من میخوام از خصوصیات کنترلی که در زمان اجرا ایجاد کردم استفاده کنم، حالا چطوری باید به برنامه بگم که کنترل ایجاد شده چی هست؟

syntiberium
سه شنبه 27 مهر 1389, 15:42 عصر
نیازی نیست بهش بگید با نوشتن کدی مثل کد زیر خودش می فهمه که مثلا متغیر b1 از نوع کنترل آرایه ی button هست و در کد زیر سه تا از خاصیت هاش تغییر می کنه:



Button[] b1 = new Button[2];
for (int i = 0; i <= 1; i++)
{
b1[i] = new Button();
this.Controls.Add(b1[i]);
b1[i].Location = new Point(10, 10+i*40);
b1[i].Text = "Button" + i.ToString();
b1[i].Name = "b" + (i+1).ToString();
}

Reza_Yarahmadi
سه شنبه 27 مهر 1389, 15:42 عصر
كالكشن Controls مربوط به فرم
همه كنترل درون اين كالكشن قرار دارند و با داشتن نام كنترل ميتونيد بهش دسترسي داشته باشيد.

this.Controls.find("ControlName", true)[0].Text = "New Action";

sajadjamalian
سه شنبه 27 مهر 1389, 16:13 عصر
سلام دوستان ممنون از توجهتون:
ولی مشکل من حل نشد، مثلا فرض کنید توی برنامه من یه کنترل داشته باشم که یکی از خصوصیت هاش print() باشه، اونوقت باید چطوری به این خصوصیت کنترلم دسترسی داشته باشم؟

Reza_Yarahmadi
سه شنبه 27 مهر 1389, 16:17 عصر
براي دسترسي به عناصر يك كنترل كه بين همه كنترلها عموميت نداره(همه كنترلها اونو ندارند) بايد به كنترل مورد نظر تبديلش (Cast) كنيد. چيزي شبيه كد زير

((CheckBox)this.Controls.find("ControlName", true)[0]).Checked = true;

sajadjamalian
سه شنبه 27 مهر 1389, 16:28 عصر
خیلی ممنون، مشکلم با راهنماییتون حل شد.:چشمک::چشمک: