PDA

View Full Version : دسترسی به کنترل به وسیله نام آن به صورت تکس



mohammad abedi
سه شنبه 22 فروردین 1391, 22:22 عصر
با سلام

در یک کلاس میخواهم به کنترلهای یک فرم دیگر دسترسی داشته باشم. مشکلم اینجاس که میخوام نام اون کنترل رو به صورت تکس (متن) به کلاس پاس بدم.
به عنوان مثال نام کنترل لیست را که کثلا lstGroup هست رو به صورت متن "lstGroup" به کلاس مورد نظرم ارسال و در کلاس تغییرات خاص خودم رو از جمله دیتا بایندینگ انجام بدم

با تشکر از همگی

esiprogrammer
چهارشنبه 23 فروردین 1391, 00:01 صبح
شما در فرم میتونید به کنترلها اینگونه دسترسی پیدا کنید مثلا متن یک button رو که اسمش btn1 است رو اینجوری عوض میکنی


Controls["btn1"].Text="123"


البته میتونید اون رو به هر نوعی Cast کنید و کارهاتون رو روش انجام بدید.
موفق باشید

mohammad abedi
چهارشنبه 23 فروردین 1391, 19:36 عصر
با سلام و تشکر
من دنبال datesource هستم که توی گزینه هاش نیست در ضمن خطای زیر رو هم از من میگیره :
Object reference not set to an instance of an object.

من این کد رو برای تست استفاده کردم که اون خطا رو داد (form اسم فرممه):


form.Controls["txtShekayat"].Text = "11111";

esiprogrammer
چهارشنبه 23 فروردین 1391, 22:07 عصر
دلیل اینکه این خطا رو میگیره اینه که Instance رو پیدا نمیکنه شاید form را new نکردید.
همونطور که بهتون گفتم میتونید آبجکت رو کست کنید . مانند کد زیر



DataGridView gridview=((DataGridView).Controls["gridviewname"]);
gridview.DataSource=source;