PDA

View Full Version : صدا کردن کنترل روی فرم در کلاس (لطفا سریع کمکم کنید عجله دارم)



3Dmajid
یک شنبه 09 خرداد 1389, 22:00 عصر
بابا این سی شارپ چرا اینجوریه :لبخند:

تو وی بی دات نت راحت میشه هر چی دوست داری صدا کنی ولی تو این چرا اینقدر گیر میده :عصبانی:

فرض کنید یه تکست باکس روی فرم 1 دارم.
میخوام یه کلاس بسازم که یه دستور داشته باشه به نام Clear که محتوای تکست باکس روی فرم 1 رو پاک کنه. ولی مثلا نمیشه از همچین کدی استفاده کرد ولی تو وی بی به راحتی میشه :


Form1.TextBox1.Clear() ;

اومدم این کارو کردم :



Form1 f = new Form1();
f.Show();
f.textBoxX1.Clear();


اینجوری درست کار میکنه ولی این عملیات روی فرمی که New شده عمل میکنه نه روی فرم اصلی که ساختم. من میخوام روی فرم اصلی عمل کنه :عصبانی++:

کمک :گریه:

Ehsan.Saradar
یک شنبه 09 خرداد 1389, 22:24 عصر
پیشنهاد می کنم کلاس خود را به گونه ای بسازید که متغیری داشته باشد که به form1 اشاره کند مثلا :


class Classtest
{
Form1 frm;
public Classtest(Form1 frm)
{
this.frm = frm;
}
public void clear()
{
frm.textBox1.Clear();
}
}که در اینصورت هنگام ساخت کلاس بالا در form1 باید به روش زیر عمل کنیم :


Classtest cls = new Classtest(this);
cls.clear();*در مثال بالا فرض شده که خاصیت Modified مربوط به textbox1 به صورت public در آمده است

r00tkit
یک شنبه 09 خرداد 1389, 22:27 عصر
اینو بنویس



this.TextBox1.Clear() ;

3Dmajid
یک شنبه 09 خرداد 1389, 22:48 عصر
احسان جان خیلی خیلی ممنونم، دنبال همین راه بودم :قلب:

3Dmajid
یک شنبه 09 خرداد 1389, 23:04 عصر
یه سوال دیگه ...

خطی که برای معرفی و New کردن کلاس مینویسیم کجا باید بنویسیم که بتونیم به صورت Public ازش استفاده کنیم ؟

ricky22
یک شنبه 09 خرداد 1389, 23:18 عصر
اینو بنویس



this.TextBox1.Clear() ;

این کد textbox فرم جاری رو clear می کنه.
منظور دوستمون دسترسی به اشیا فرم های دیگه هست