PDA

نسخه کامل مشاهده نسخه کامل : صدا کردن فرم ها در برنامه ی چند فرمی c#



3Dmajid
08-08-2011, 17:45
میدونم سوال خیلی خیلی آسونیه :20:
بلد بودم ولی یادم رفته !

فرض کنید سه تا فرم توی پروژه داریم که فرم دومی و سومی فرزند فرم اولی هستن.
روی فرم دومی یه دکمه هست.
روی فرم سومی هم یه دکمه هست.

روی دکمه ی فرم سومی میخوایم کدی رو بنویسیم که اگه روش کلیک بشه دکمه ی فرم دومی رنگش تغییر کنه :10:

در واقع میخوام بفهمم چه جوری فرمای دیگه رو صدا بزنم و به هم ربطشون بدم !

یعنی کاری که تو vb.net راحت میشه انجام داد :

Form2.Button1.BackColor = Color.Green

H A M A S
08-08-2011, 18:35
میدونم سوال خیلی خیلی آسونیه :20:
بلد بودم ولی یادم رفته !

فرض کنید سه تا فرم توی پروژه داریم که فرم دومی و سومی فرزند فرم اولی هستن.
روی فرم دومی یه دکمه هست.
روی فرم سومی هم یه دکمه هست.

روی دکمه ی فرم سومی میخوایم کدی رو بنویسیم که اگه روش کلیک بشه دکمه ی فرم دومی رنگش تغییر کنه :10:

در واقع میخوام بفهمم چه جوری فرمای دیگه رو صدا بزنم و به هم ربطشون بدم !

یعنی کاری که تو vb.net راحت میشه انجام داد :

Form2.Button1.BackColor = Color.Green

frm new form1
frm.Button1.BackColor = Color.Green

3Dmajid
08-08-2011, 18:39
نه دوست عزیز اینجوری نمیشه !
علاوه بر اینکه تعریف متغیرتون اشتباهه !
با این تعریفم دسترسی به کنترل های فرم غیر ممکنه.
باید مشخصه ی Modifire اونا رو به Public تغییر داد

parvizamd
08-08-2011, 18:51
سلام مجید جان:

بیا ضمینه رو دانلود کنی:چی نمی تونم اینجا ضمینه کنم واقعا که ... اشکال نداره تو mediafire آپلود می کنم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

H A M A S
08-08-2011, 18:55
نه دوست عزیز اینجوری نمیشه !
علاوه بر اینکه تعریف متغیرتون اشتباهه !
با این تعریفم دسترسی به کنترل های فرم غیر ممکنه.
باید مشخصه ی Modifire اونا رو به Public تغییر داد

شرمنده ما هم مثل شما vb کاریم
میخواستم درستش کنم اینترنتم قطع شد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

آره راس میگی!!
فکر کردم به آسونی vb هست!!

عــــلی
08-08-2011, 19:16
سلام.
ضمن اینکه تاپیک تکراریه...قبل از زدن تاپیک لطفاً جستجو بفرمایید...

شما میبایست یک متغیر به صورت static تعریف کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حال آنکه به صورت زیر آن را مقدار میدهید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

استفاده:
Form1.THIS.button1.BackColor = Color.Red;

روش دوم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق و پیروز باشید در پناه حق.

3Dmajid
09-08-2011, 17:48
خیلی ممنون از راهنماییتون !
روش اول کار کرد.
روش دوم ارور میده ! :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

بازم ممنون از هر سه تاییتون :20:

عــــلی
09-08-2011, 17:57
سلام.
فکر کنم شما دارید فرم1 رو به فرم2 تبدیل میکنید اینکار غیر ممکنه.
لطفاً کدتونو بذارید...

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هردو باید فرم1 یا هر دو فرم2 باشند.

neda_traveler
14-08-2011, 13:53
سلام به دوستان
من الان در فرم اولم checklistbox دارم
و در فرم دیگه نیاز به تعداد و نام اونهایی که تیک خوردن دارم
اما در فرم بعدی به تعداد اعضا checklistbox دسترسی ندارم و همش مقدار صفر میده
با وجودی که public هم کردم
ممنون میشم کمکم کنیدا

عــــلی
14-08-2011, 15:58
سلام توی فرمی که checklistbox دارید یک پروپرتی به صورت زیر تعریف کنید مثلاً Form2

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای استفاده در فرم های دیگه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
14-08-2011, 16:19
سلام بر داداش علی
یه روشی بود قبلا که به وسیله using فرم رو فراخوانی می کردن
الان یادم رفته میشه برام بزارید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neda_traveler
15-08-2011, 07:53
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما در اینجا ما باید f.ShowDialog();
این رو حتما بذاریم
اما من نمی خوام در فرم بعدی که هستم Form2 باز بشه
و بدون این هم که تابعه فراخونی نمیشه
پس باید چیکار کنم؟

عــــلی
15-08-2011, 10:07
سلام دوستان.

سلام بر داداش علی
یه روشی بود قبلا که به وسیله using فرم رو فراخوانی می کردن
الان یادم رفته میشه برام بزارید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ابراهیم جان درسته میتونید از این روش برای Dispose کردن فرمتون در پایان کار استفاده کنید.




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداما در اینجا ما باید f.ShowDialog();
این رو حتما بذاریم
اما من نمی خوام در فرم بعدی که هستم Form2 باز بشه
و بدون این هم که تابعه فراخونی نمیشه
پس باید چیکار کنم؟
متوجه نشدم:31:.
خوب میتونید چک لیست رو توی همون فرم اول بذارید کارتون هم راحت میشه.

neda_traveler
15-08-2011, 10:44
نه نمیشه
چون من این چک لیست باید در یک فرم کلی بذارم چون هر کدوم از دکمه ها رو که بزنم محتویات اینو لازم داره
پس باید در فرم اول باشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما در اینجا شما دوباره فرم اول باز کردید که من نمی خوام باز شه
و اگر هم

f.ShowDialog();
اینو ننویسم که تابعی که در صفحه فرم2 هست فراخونی نمیشه
حالا باید چی کار کنم؟
با تشکر از زحمات شما:11:

عــــلی
15-08-2011, 15:36
من متوجه نمیشم میخواید چیکار کنید.
وقتی فرم نمایش داده نشه پس چطوری چک لیست باکس رو کاربر تیک بزنه؟
اگه فرم نمایش داده نمیشه اصلاً چرا باید فرم ساخته بشه؟

neda_traveler
16-08-2011, 09:11
منظور من اینه که در فرم اول چک لیست نمایش داده میشه همون جا کاربر انتخاب میکنه
بعد باید در صفحه دوم از همون موارد انتخاب شده در چک لیست استفاده کنه
برا همین دیگه نیازی به باز شدن صفحه اول نیست چون همه چیز انتخاب شده

neda_traveler
16-08-2011, 12:36
ممنون جوبشو پیدا کردم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید