-
ارتباط فرم ها با یکدیگر
سلام بر دوستان
من یه فرم اصلی به نام A دارم میخوام در وسط برنامه یه فرم B رو فراخوانی و نمایش بده من حالا میخوام بدونم فرم B چطور می تونه فرم A رو تشخیص بده یا با اون ارتباط بر قرار کنه مثلاً وقتی در فرم B (که در وسط برنامه و توسط فرم A فراخوانی شد) محتویات یک تکس باکس رو تغییر میدم در فرم A یه تکس باکس محتویاتش تغییر کنه.
دوستان اگر راهنمایی کنند و نام این تکنولوژی رو بگند و چند تا مقاله در ارتباط باهاش به من معرفی کنند خیلی ممنون می شم.
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام
فرم A را به عنوان ورودی در Constructor فرم B ارسال کنید ودر داخل Constructor در یک متغیر Private در سطح فرم A نگهداری کنید و در ضمن TextBox مورد نظر در فرم A را با Modifier ازنوع Internal یا Public تنظیم کنید حال با استفاده از متغیر Private درون فرم B شما کاملا بر TextBox مسلط خواهید بود
-
نقل قول: ارتباط فرم ها با یکدیگر
ممنون و اگر نام این تکنولوژی رو بگید لطف کردید...
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام
دوست من این تکنولوژی نیست مفاهیم DotNetFrameWork به همراه OOP است در Help خود MSDN از اینکارها زیاد انجام میدهد
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
سلام
فرم A را به عنوان ورودی در Constructor فرم B ارسال کنید ودر داخل Constructor در یک متغیر Private در سطح فرم A نگهداری کنید و در ضمن TextBox مورد نظر در فرم A را با Modifier ازنوع Internal یا Public تنظیم کنید حال با استفاده از متغیر Private درون فرم B شما کاملا بر TextBox مسلط خواهید بود
بارها اشتباه بودن این روش در اینجا بیان شده و مقالات هم برایه روشهایه درست فرستاده شده، اگر لینک معتبری برایه این روش میشناسید لطفا بفرستید.
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
سلام
دوست من این تکنولوژی نیست مفاهیم DotNetFrameWork به همراه OOP است در Help خود MSDN از اینکارها زیاد انجام میدهد
لینک به MSDN در این مورد بفرستید.
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
اَرژنگ
بارها اشتباه بودن این روش در اینجا بیان شده و مقالات هم برایه روشهایه درست فرستاده شده، اگر لینک معتبری برایه این روش میشناسید لطفا بفرستید.
سلام استاد:
می شه راه حل درست را بفرمائید، تا هم من هم جناب hozouri هم بقیه دوستان یاد بگیرند
چون روش گفته شده در بالا ظاهراً با مفهوم شی گرایی در #C متضاد هست
در دات نت 2005 به بالا فکر کنم یک راه حل استفاده از متغییرات setting باشه که از کل برنامه و تمام فرم ها قابل دسترس هستند !؟؟
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
من یه فرم اصلی به نام A دارم میخوام در وسط برنامه یه فرم B رو فراخوانی و نمایش بده من حالا میخوام بدونم فرم B چطور می تونه فرم A رو تشخیص بده یا با اون ارتباط بر قرار کنه مثلاً وقتی در فرم B (که در وسط برنامه و توسط فرم A فراخوانی شد) محتویات یک تکس باکس رو تغییر میدم در فرم A یه تکس باکس محتویاتش تغییر کنه.
مقاله ای در این مورد از اقای کیانی(ObjectRelations)
https://barnamenevis.org/attach...8&d=1200233621
لینک تاپیک
https://barnamenevis.org/showthread.php?t=91138
-
نقل قول: ارتباط فرم ها با یکدیگر
فکر کنم در مقیاس بزرگتر اینکارهارو با WCF انجام میشه
البته شاید برای کار شما این مثال از CodeProject بد نباشه
Using a delegate to pass data between two forms
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
razavi_university
استفاده از WCF فایدهای به این مسعله اضافه نمیکند. مثال کد پروژکت دارد از ابزرور پترن استفاد میکند، منتها نویسندش در مورد پترن آگاهی ندارد وگرنه بهش اشاره میکرد، در ضمن دلیل استفاده از ابزرور پترن دلایل دیگری دارد که به این مسعله ربطی ندارد.
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام
آقای آرژنگ شما یک کد ساده قرار دهید که همه یاد بگیرند.
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
سلام
آقای آرژنگ شما یک کد ساده قرار دهید که همه یاد بگیرند.
محض رضایه خدا جستجو ، پژوهش مقاله جناب کیانی https://barnamenevis.org/showthread.php?t=91138
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
اَرژنگ
با سلام
محض رضای خدا قبل از نوشته شما کامل PDF را مطالعه کردم میخواستم شما یک کد ساده در پاسخ دوستمان قرار دهید تا برای هم مفید واقع شود
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
با سلام
محض رضای خدا قبل از نوشته شما کامل PDF را مطالعه کردم میخواستم شما یک کد ساده در پاسخ دوستمان قرار دهید تا برای هم مفید واقع شود
چشم: https://barnamenevis.org/showthread.php?t=88552 پست پنجم
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام
کد مورد نظر را کاملا مطالعه کردم واز ShowDialog() استفاده میکند اما اگر از Show استفاده کنیم راه حل چیست ؟
-
نقل قول: ارتباط فرم ها با یکدیگر
یه Event در فرم2 تعریف کن و در فرم1 هندلش کن...
-
1 ضمیمه
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
سلام
کد مورد نظر را کاملا مطالعه کردم واز ShowDialog() استفاده میکند اما اگر از Show استفاده کنیم راه حل چیست ؟
یک روش ضمیمه شده، بستگی به شرایط راههایه مختلف زیادی وجود دارند
پ.ن : راهی که جناب کیانی پینشهاد کردند به نظر من بهترین روشه، منتها الان ساعت ۱۲ شبه و چشمهام دارند هیلی پیلی میرند، یک چیزی سرهم کردم فرستادم، جواب بهتر سادهترین پیاده سازی راهی است که جناب کیانی فرمودند.
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
r.kiani
یه Event در فرم2 تعریف کن و در فرم1 هندلش کن...
سلام
چناب کیانی لطفا در صورت مقدور یک کمی بیشتر روش را تشریح نمائید
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام بچه ها
من می خوام یه مقدار رو از ورودی بگیرم به تمام فرم ها ارسال کنم
در واقع می خوام کاربر وقتی وارد برنامه می شه رمز ورودش رو وارد کنه
بعد هرکاری که انجام داد و قراره ثبت شه تو هر فرمی از برنامه هست کد کاربری معادل با رمزش ذخیره بشه
تورو خدا کمکم کنید پروژه ی پایان تحصیلاتم رو دارم می نویسم اگه تا 15 تیر تمومش نکنم فارغ التحصیلیم عقب می افته
بچه ها منتظر کمکتون هستم
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
hosseini_87
سلام بچه ها
من می خوام یه مقدار رو از ورودی بگیرم به تمام فرم ها ارسال کنم
در واقع می خوام کاربر وقتی وارد برنامه می شه رمز ورودش رو وارد کنه
بعد هرکاری که انجام داد و قراره ثبت شه تو هر فرمی از برنامه هست کد کاربری معادل با رمزش ذخیره بشه
تورو خدا کمکم کنید پروژه ی پایان تحصیلاتم رو دارم می نویسم اگه تا 15 تیر تمومش نکنم فارغ التحصیلیم عقب می افته
بچه ها منتظر کمکتون هستم
نه مشکلتان و نه راه حلتان به عقل جور درنمیاد، دلیل استفاده از این روش را بیان کنید
-
نقل قول: ارتباط فرم ها با یکدیگر
ببیند من دارم یه برنامه ای می نویسم واسه یه اداره که کارمنداش از اون استفاده کنن
و هر کارمندی هر کاری انجام داد مثلا تو قسمت حسابداری پولی برداشت کرد کد کارمندی اون ذخیره بشه
یعنی این کارمند نتونه از حساب اداره برداشت کنه ولی کد یکی دیگه رو وارد کنه
واسه همین هرکارمندی یه رمز عبور داره که فقط خودش و مدیر اداره از اون با خبرن
حالا شما می گید چکار کنم
تو تک تک فرما از کاربر بخوام رمز خودشو وارد کنه یا اینکه فقط تو صفحه ی اول که برنامه رو باز کرد رمز عبورش رو وارد کنه؟
تازه یه چیز دیگه هم اینه که کارمند باید تو صفحه اول رمزش رو وارد کنه بعد طبق رمزش به یه سری فرمها دسترسی داشته باشه و به یه سری دیگه نداشته باشه
فک می کنم دیگه به اندازه کافی در مورد مشکلم توضیح داده باشم
ممنون میشم اگه کسی کمکم کنه
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
hosseini_87
ببیند من دارم یه برنامه ای می نویسم واسه یه اداره که کارمنداش از اون استفاده کنن
و هر کارمندی هر کاری انجام داد مثلا تو قسمت حسابداری پولی برداشت کرد کد کارمندی اون ذخیره بشه
یعنی این کارمند نتونه از حساب اداره برداشت کنه ولی کد یکی دیگه رو وارد کنه
واسه همین هرکارمندی یه رمز عبور داره که فقط خودش و مدیر اداره از اون با خبرن
حالا شما می گید چکار کنم
تو تک تک فرما از کاربر بخوام رمز خودشو وارد کنه یا اینکه فقط تو صفحه ی اول که برنامه رو باز کرد رمز عبورش رو وارد کنه؟
تازه یه چیز دیگه هم اینه که کارمند باید تو صفحه اول رمزش رو وارد کنه بعد طبق رمزش به یه سری فرمها دسترسی داشته باشه و به یه سری دیگه نداشته باشه
فک می کنم دیگه به اندازه کافی در مورد مشکلم توضیح داده باشم
ممنون میشم اگه کسی کمکم کنه
روشی که میخواهید این برنامه را بنویسید اشتباه است، از روشهایه لایه نویسی باید استفاده کنید، در موورد ذخیره کردن رمز، یکبار در موقع شروع برنامه در ستیننگ ذخیره اش میکنید و همان.
به برنامه نویسی لایه باید نگاه بندازید. اصلا مشکل شما در مورد طراحی برنامه است به ارتباط بین فرمها ربط ندارد.
-
نقل قول: ارتباط فرم ها با یکدیگر
جناب آرژنگ از شما ممنون میرم که تو برتامه نویسی لایه مطالعه ای داشته باشم
التماس دعا
-
1 ضمیمه
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
ASKaffash
سلام
چناب کیانی لطفا در صورت مقدور یک کمی بیشتر روش را تشریح نمائید
یه نمونه فرستادم
موفق باشید
-
نقل قول: ارتباط فرم ها با یکدیگر
سلام
ممنون جناب آرژنگ
.....
ولی این مسئله را بار دیگر در مثالی دیگر متذکر شدم که هر چیزی را در جای خودش به کار ببریم بهتر است...
نقل قول:
نوشته شده توسط
اَرژنگ
عوض کردن داده قبل از فرستادن به یک ابجکت دیگر درست نیست، اگر این کار باید چند بار در جاهایه مختلف انجام بشد اشکالش معلوم است، به جاش در متدی که صدا زده میشه داتا را معمولا بر طبق منطق عوض میکنند، به این ترتیب تمام منطق در یکجا پیاده میشه.
صحیح
این دیتا فقط به یک صورت و صرف همین مثال نوشته شده....
ترکیب سینگلتون پترن با این مثال فکر می کنم که فقط مطلب را برای دوستمون مشکل و مبهم تر می کرد...
چون اگر صحیح تر بخواهیم بگوییم، بهتر است برای یک چنین مواردی از الگو های Observer ای نظیر MVC استفاده شود....
به عنوان مثال اگر تعداد نمونه های گرفته شده از فرم 2 بیشتر باشد و یا فرم هایی که در آن واحد باید بر اساس دیتای فرم1آ آپدیت شوند، بیشتر از یک فرم باشند، استفاده از روش فوق مناسب نمی باشد...
در ابتدا، قصد نبود که دیتا از فرم1 به فرم2 هم فرستاده شود، ( چون مورد سوال تاپیک به این موضوع اشاره ای نکرده بود) ولی چون حدس زدم ممکنه که چند روز دیگه سوالی مشابه همین پیش آید، با یک متد ساده، این عمل را انجام دادم..
در کل فکر کنم مثال خوبی برای کاربرانی که در این مورد مشکل داشتند، بود..
با تشکر
-
نقل قول: ارتباط فرم ها با یکدیگر
نقل قول:
نوشته شده توسط
r.kiani
سلام
ممنون جناب آرژنگ
.....
ولی این مسئله را بار دیگر در مثالی دیگر متذکر شدم که هر چیزی را در جای خودش به کار ببریم بهتر است...
ترکیب سینگلتون پترن با این مثال فکر می کنم که فقط مطلب را برای دوستمون مشکل و مبهم تر می کرد...
چون اگر صحیح تر بخواهیم بگوییم، بهتر است برای یک چنین مواردی از الگو های Observer ای نظیر MVC استفاده شود....
به عنوان مثال اگر تعداد نمونه های گرفته شده از فرم 2 بیشتر باشد و یا فرم هایی که در آن واحد باید بر اساس دیتای فرم1آ آپدیت شوند، بیشتر از یک فرم باشند، استفاده از روش فوق مناسب نمی باشد...
در ابتدا، قصد نبود که دیتا از فرم1 به فرم2 هم فرستاده شود، ( چون مورد سوال تاپیک به این موضوع اشاره ای نکرده بود) ولی چون حدس زدم ممکنه که چند روز دیگه سوالی مشابه همین پیش آید، با یک متد ساده، این عمل را انجام دادم..
در کل فکر کنم مثال خوبی برای کاربرانی که در این مورد مشکل داشتند، بود..
با تشکر
البته که مثال خوبی است! یکمی خوشگلترش کنیم همه دعامان میکنند.
بعدش هم هرکی در مورد سینگلتن و یا اتباط بین فرمها سوال کند میفرستیمش سراغ همین یک مثال، سینگلتن به خودی خود خالیه، اینجا میشه کاربردش را برایه کار حسابی نشان داد.
از روشی که استفاده کردید که فرم بعدی را نشان بدید خوشم آمد، روش باحالیه