PDA

View Full Version : دسترسی به کنترلهای فرمهای دیگر؟



oghab
یک شنبه 22 مرداد 1385, 23:27 عصر
سلام
چطوری میشه به کنترلهای فرمهای دیگه دسترسی داشت؟ مثلا به label به textbox به dataSet؟
مثلا تو دلفی می‌نویسم


form2.label1.caption='welcome';

در c#.net 2003 چطوریه؟

javid_p84
دوشنبه 23 مرداد 1385, 00:01 صبح
تو instance ای که ازش تعریف میکنی میشه این کارو کرد


Form1 frm = new Form1();
frm.lable1.text="C SHarp" ;

اَرژنگ
دوشنبه 23 مرداد 1385, 07:58 صبح
اگر چه میشه اینکار را انجام داد ولی از نظر برنامه نویسی درست نیست.
به جایه اینکار بهتر است که در فرم ۲ یک متد جدید اضافه کنید که خودش اینکار را انجام بده،

oghab
دوشنبه 23 مرداد 1385, 14:17 عصر
تو instance ای که ازش تعریف میکنی میشه این کارو کرد


Form1 frm = new Form1();
frm.lable1.text="C SHarp" ;

این روش جواب نمیده. یعنی بعد از frm اسم کنترلهای موجود دز آن فرم را نمیشناسه.

اگر چه میشه اینکار را انجام داد ولی از نظر برنامه نویسی درست نیست.
به جایه اینکار بهتر است که در فرم ۲ یک متد جدید اضافه کنید که خودش اینکار را انجام بده،
نمیدونم چطور این کارو بکنم.

ببینید دز فرم اول من نام یه درس در یک combobox انتخاب میشه. حالا من می‌خواهم در فرم بعدی که باز می‌کنم نام این درس را تو یه label نشون بدم. حالا یا باید از فرم اولی به دوم دسترسی داشته باشم. یا از دومی به اولی. که هیچ کدوم کنترلهای اون یکی نمیشناسه. نمیدونم چطور این کارو بکنم.
ممنون میشم راهنمایی کنید

reza_rad
دوشنبه 23 مرداد 1385, 14:42 عصر
این روش جول نمیده. یعنی بعد از frm اسم کنترلهای موجود دز آن فرم را نمیشناسه.


کنترلها باید public تعریف شده باشند.

اَرژنگ
دوشنبه 23 مرداد 1385, 15:41 عصر
این روش جول نمیده. یعنی بعد از frm اسم کنترلهای موجود دز آن فرم را نمیشناسه.

نمیدونم چطور این کارو بکنم.

ببینید دز فرم اول من نام یه درس در یک combobox انتخاب میشه. حالا من می‌خواهم در فرم بعدی که باز می‌کنم نام این درس را تو یه label نشون بدم. حالا یا باید از فرم اولی به دوم دسترسی داشته باشم. یا از دومی به اولی. که هیچ کدوم کنترلهای اون یکی نمیشناسه. نمیدونم چطور این کارو بکنم.
ممنون میشم راهنمایی کنید
مثال ضمیمه شده.

oghab
دوشنبه 23 مرداد 1385, 16:13 عصر
با سلام
خیلی ممنونم
مشکلم حل شد ( با استفاده از راهنمایی جناب reza_rad )
از جناب آرژنگ هم بخاطر اینکه وقت صرف کردند و مثال برایم گذاشتند تشکر می‌کنم. منتها فکر می‌کنم این مثال با vs.net 2005 انجام شده و 2003 را نصب دارم و متاسفانه نتونستم بازش کنم
خیلی متشکرم
موفق باشید

محمد میرمصطفی
دوشنبه 23 مرداد 1385, 18:31 عصر
من تا حالا 5، 6 دفعه به این سوال جواب دادم.
بابا جستجو!!!!!!!!!!!!!!!!!!!!!!!!!!

اَرژنگ
دوشنبه 23 مرداد 1385, 18:52 عصر
متاسفانه جوابهایی که به این سوال دادهمیشه ادامه دادن عادتهایه بدی را که مبتدی کاران در دلفی یادمیگرفتن تجویز میکنه.
در دلفی نقسش این بود که کنترلها را همیشه Published تعریف میشند و هر کی کیفی از یک فرم کنترلهایه فرم دیگر را راحت انگلوک میرد، این روش یک نوعه دیگر استفاده از گلوبال وریبله که قدیم کاران ازش شکایت دارند.
از نظر شیئگرایی بهتره که متد استفاده بشه.