PDA

View Full Version : حرفه ای: چگونه میتونم با زدن دکمه برگشت به پنجره ورود اطلاعات ، اطلاعات ورودی رو بهم نشون بده؟



rospina_63
دوشنبه 22 اردیبهشت 1393, 21:06 عصر
با سلام خدمت دوستان و مهندسان عزیز.
من یک برنامه با چند پنجره تعریف کردم.
در پنجره 1 اطلاعات ورودی رو میگیره.
در پنجره 2 با زدن دکمه انجام محاسبه ، نتایج محاسبات را به ما نشان میدهد.
ضمنا در پنجره 1 یک دکمه با نام بعدی که به منظور رفتن به پنجره 2 می باشد رو تعریف کردم و
در پنجره 2 یک دکمه با نام قبلی که به منظور برگشت به پنجره 1 است را تعریف کردم.
در مرحله اول اطلاعات را وارد میکنم و دکمه بعدی رو میزنم تا به پنجره 2 برود.
حال به فرض در ورود اطلاعات عددی را اشتباهی وارد کردم می خواهم آن را تصحیح کنم.
ولی متاسفانه وقتی دکمه قبلی رو میزنم پنجره 1 رو بدون اطلاعات ورودی نشون میده و مثل اینکه تازه وارد برنامه شدی و میخواد اطلاعات رو از اول وارد بکنیم.
خواستم بپرسم چطوری میشه بعد از ورود اطلاعت ، اطلاعات رو ذخیره کنه که وقتی خواستم تصحیح بکنم ، فقط همان عددی رو که اشتباه وارد شده رو تصحیح کنم نه اینکه کل اطلاعات رو دوباره وارد کنم.

اگر امکان داره با یک مثال کوچک منو راهنمایی کنید.
ضمنا من رشته دانشگاهیم عمران بوده نه کامپیوتر.
لطفا بهم کمک کنید.
امیدوارم که از خدا هرچی میخواهید بهتون بده و در تمام مراحل زندگی موفق باشید.

irartesh
دوشنبه 22 اردیبهشت 1393, 21:26 عصر
اگر کارتون با دوتا پنجره هست (کمتر از 4 تا) میتونید از پنل استفاده کنید در یک فرم...بدین صورت که روی فرم شماره یک پنل میزارید و اجزایی که روی فرم 2 بودرو روی پنل پیاده کنید...حالا اگر گزینه بعدی رو زد پنل رو نمایش بدید و اگر گزینه بک رو زد نمایش پنل رو غیرفعال کنید....اینجوری اطلاعاتتون از بین نمیره

یا میتونید اطلاعات رو از فرم یک در متغیری در فرم 2 ذخیزه کنید تا در هنگام برگشت تکست باکس ها به وسیله متغییر های ذخیره شده در فرم 2 مقدار دهی شوند

rospina_63
سه شنبه 23 اردیبهشت 1393, 01:35 صبح
ممنونم مهندس که به سوالم جواب دادید. من اتحان کردم ولی جواب نداد. البته به خاطر اینه که من سی شارپ رو حرفه ای بلد نیستم و از روی الگو کار میکنم.
اگه براتون امکان داره برنامه ای رو که براتون شرح میدم بنویسید تا من متوجه بشم چطوریه.
2 تا پنجره تعریف کنید.
در پنجره 1 دو تا تکس باکس به همرا یه دکمه با نام بعدی تعریف کنید.
در پنجره2 یه تکس باکس با 2 تا دکمه که نام یکی جمع و دیگری با نام قبلی تعریف کنید.
حال برنامه ای بنویسید که دو عدد(مثلا 10 و 15) رو از تکس باکس های پنجره 1 بگیره و با زدن دکمه بعدی به پنجره 2 بره و با زدن دکمه جمع جواب عمل جمع را در تکس باکس پنجره دو نشان بده.
حال فرض میکنیم اشتباهی در ورود اطلاعات در پنجره 1 رخ داده و مثلا به جای عدد 10 میخواستیم عدد 12 رو بزنیم. در این قسمت میخواهیم با زدن دکمه قبلی در پنجره 2 به پنجره 1 رفته و عدد 10 را به 12 تغییر دهیم بدون اینکه بخواهیم دوباره عدد 15 رو وارد کنیم.

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

irartesh
سه شنبه 23 اردیبهشت 1393, 09:29 صبح
شما باید سعی کنی جوابتو خودت پیدا کنی نه اینکه براتون آماده درست کنند...با این حال من مدل پنلش رو درست کردم....اگر میخواید حتما بین دو پنجره باشه تو اینترنت نحوه انتقال داده بین دو پنجره رو جستجو کنید

rospina_63
سه شنبه 23 اردیبهشت 1393, 10:42 صبح
حق با شما هست مهندس. ولی من خیلی از مفاهیم اصلی زبان سی شارپ رو نمیدونم. کلی سی دی آموزشی و ... دارم ولی نتونستم این کاری رو که میخوام انجام بدم.
این دقیقا همون چیزی بود که میخواستم. دست گلتون درد نکنه. ولی یه سوال دیگه. مهندس برنامتون رو اجرا کردم و درست کار میکنه ولی سی شارپ من 2010 هست و الان که بازش میکنم پنجره فرم دو رو نمی بینم ولی وقتی که برنامه رو پلی می کنم فرم دو رو نشون میده.فک میکنم نرم افزار شما 2012 باشه که برای من ساپورتش نمیکنه.میشه بگید مشکل کجاست؟
ممنون از زحماتتون

irartesh
سه شنبه 23 اردیبهشت 1393, 10:52 صبح
من فرم دومی اضافه نکردم...من فقط یدونه پنل(لایه) رویه فرم یک گذاشتم که کار فرم 2 رو انجام بده

rospina_63
سه شنبه 23 اردیبهشت 1393, 13:17 عصر
آها. که اینطور. چه جالب. نمیدونستم که اینطوری هم میشه. حالا روش کار میکنم ببینم میتونم پروژمو درست کنم یان. اگه مشکل داشتم خبرتون یدم.
بازم ممنون که به سوال هام جواب دادی مهندس

rospina_63
سه شنبه 23 اردیبهشت 1393, 15:33 عصر
مهندس من روش شما رو کار کردم ولی وقتی برنامه ران میشه اول محتویات پنل رو نشون میده نه فرم 1. خواستم بدونم مشکل کجاست؟
فایلی رو که نوشتم براتون میفرستم. ضمنا خواستم بپرسم که استفاده از کلاس عمومی برای تعریف اطلاعت توی پنجره 1 که پنل داره جواب میده؟
منظورم اینه که اگه تعداد تکس باکس ها مون هم 10 الی 12 تا باشه بازم به روشی که خودتون فرمودید جواب میده؟
آخه من در برنامه خودم تعداد تکس باکس هام برای اطلاعات ورودی در پنجره 1 حدودای 10 تا هست وبرای اینکه از این اطلاعات در پنجره 2 استفاده کنم از کلاس عمومی نرم افزار استفاده کردم. حالا اگه بخوام پنجره 2 را به صورت پنل استفاده کنم به روش شما بازم جواب میده یا به یه صورت دیگه هست؟
ممنون مهندس

irartesh
سه شنبه 23 اردیبهشت 1393, 17:00 عصر
نیازی به تصحیح من نیست....پنل یه پراپرتی به نام "Visible" داره که وقتی شما میخواید محتوای پشت اون رو نمایش بدید باید این پراپرتی رو برابر "false" قرار بدید و اگر میخواید نمایش بدید برابر "true" کنید.این پراپرتی همون نمایش پنله که باید تعیین کنید که نمایش داده بشه یا نه!
در ضمن پنل چیز عجیبی نیست!یه کنترله مثله بقیه...با غیر فعال کرد پراپرتی "Fill" میتونید به پشت اون (همون فرم یک مورد نظر شما) دسترسی پیدا کنید

rospina_63
سه شنبه 23 اردیبهشت 1393, 17:42 عصر
مهندس پیداش کردم.ممنون که راهنمایی کردید