PDA

View Full Version : تغییر مشخصه یک کنترل از طریق نام آن



hamed-lavafi
پنج شنبه 11 مهر 1392, 21:10 عصر
سلام دوستان
سوالم رو با مثال میگم که درکش راحت تر باشه:
فرض کنید یک TextBox و یک دکمه روی فرم هست و یک سری شئ دیگه، من میخوام اسم هر شئ که داخل Textbox نوشتم و روی دکمه کلیک کردم اون شئ تغییر مکان بده و یا خصوصیات دیگه ش رو تغییر بدم. نوع شئ هم مشخص نیست فقط از روی اسم اون که داخل Textbox نوشته شده این کار انجام بشه.

نمیخوام از if استفاده کنم چون نوع شئ و تعداد اون نا مشخصه.

برای این کار میخواستم یک کلاس بنویسم که یک آرگومان ورودی بگیره و مشخصات اون رو تغییر بده اما نوع این متغیر یا اینکه اصلا شدنی هست یا نه رو نمیدونم.

ممنون

Mahmoud.Afrad
پنج شنبه 11 مهر 1392, 21:59 عصر
با یک متد میتونید انجام بدید.

private void SetText(Control container, string name, Point p)
{
foreach (Control ctl in container.Controls)
{
if (ctl.Name == name)
{
ctl.Location = p;
break;
}
}
}

نحوه استفاده

SetText(this, textBox1.Text, new Point(50, 50));

hamed-lavafi
پنج شنبه 11 مهر 1392, 22:27 عصر
بسیار بسیار ممنونم*
یه سوال کوچیک هم دارم اونم اینه که چطور میتونم برنامه نویسی گرافیکی رو یاد بگیرم و با چه زبانی؟
ممنونم

behnam-soft
پنج شنبه 11 مهر 1392, 22:49 عصر
سلام، شما دو راه داری:
1- می تونی از برنامه نویسی WPF استفاده کنی که دستت رو برای کاری های گرافیکی بسیار باز می کنه که البته زبانش رو اگر اشتباه نکنم باید XML باشه، ولی بسیار قوی هست در زمینه گرافیک.
2- از کامپوننت های آماده استفاده کنی(مثل تلریک، دات نت بار و ... ) که هر چند سریع و راحت استفاده می شن اما اگر گرافیک خاصی مد نظر باشه، خیلی منعطف نیستند.
بنابراین شما اول ببین چقدر گرافیک برات اهمیت داره، و بعد تصمیم بگیر که از چه راهی اقدام کنی.
موفق باشی