PDA

View Full Version : مبتدی: کد برگشتن به فرم یا پنجره ی قبلی یا backکردن



misagh1370
دوشنبه 11 شهریور 1392, 09:02 صبح
سلام
دوستان عزیز هرکس کد backکردن رو داره ممنون میشم بهم بده.مثلا یه پنجره ی جدید در برنامم باز کردم میخوام برگردم به پنجره ی قبلی چکارکنم؟

misagh1370
دوشنبه 11 شهریور 1392, 22:36 عصر
میدونم سوالم خیلی ابتداییه.اما اگه راهنمایی کنید ممنون میشم

مهرداد صفا
سه شنبه 12 شهریور 1392, 00:04 صبح
با سلام.
داخل روال BackButton_Click فرم جاری را Hide و فرم قبلی را Show کنید.

private sub BackButton_click(....)
me.Hide
Form1.Show()
end sub

ali.rk
سه شنبه 12 شهریور 1392, 00:46 صبح
مهرداد جان من فکر نکنم مشکل misagh جان این باشه .

misagh جان یه متغییر متنی درست کن (بیرون از فرم ) بعد هر تغییر رو تو نمایش فرم ها ایجاد شده مثلا فرم 13 نماش پیدا کرد . متغییر ما به شه 13 بعد از فرم 13 به 7 رفت متغیر ما بشه 13/7 بعد توی دکمه برگش بهش بگو بعد از آخرین / رو بخونه . بعد بنویس اگه 7 بود بره به فرم 7 و اگر 13 بود بره به فرم 13

مهرداد صفا
سه شنبه 12 شهریور 1392, 08:09 صبح
مهرداد جان من فکر نکنم مشکل misagh جان این باشه .

misagh جان یه متغییر متنی درست کن (بیرون از فرم ) بعد هر تغییر رو تو نمایش فرم ها ایجاد شده مثلا فرم 13 نماش پیدا کرد . متغییر ما به شه 13 بعد از فرم 13 به 7 رفت متغیر ما بشه 13/7 بعد توی دکمه برگش بهش بگو بعد از آخرین / رو بخونه . بعد بنویس اگه 7 بود بره به فرم 7 و اگر 13 بود بره به فرم 13
بله متاسفانه دقیقا نگفتند که تا کجای کار پیش رفتند، از چه روشی، و کجا مشکل دارند.
به هر حال برای این که آخرین فرم نمایش داده شده را به دست بیاورید تا به آن برگردید پیشنهاد می کنم از Stack (http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28%22SYSTEM.COLLECTIONS.GENERIC.STACK%601%22%2 9;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22%29;k%28DevLan g-VB%29&rd=true) استفاده کنید. Stack یا پشته مجموعه ای است که همیشه آخرین عضوی را که به آن دادید را برمی گرداند. به زبان دیگر اعضا از اول به آخر وارد Stack می شوند و از آخرین عضو تا اولین عضو از آن خارج می شوند. برای مثال فرض کنید که تعدادی ساچمه داخل یک لوله باریک ریخته باشید؛ در این صورت هنگام برداشتن ساچمه ها باید از آخرین ساچمه شروع به برداشتن کنید.
متود Push برای قرار دادن عضو در Stack و از Pop برای برداشتن آخرین عضو استفاده می شود.
شما باید هر جا که نیاز به نمایش دادن فرم بعدی داشتید فرم جاری را در Stack قرار داده و در هنگام برگشت فقط آخرین عضو Stack را گرفته و Show کنید.

''داخل ماجول
'...
Public ShownForms As New Stack(Of Form)
...
'هنگام رفتن به فرم بعد
ShownForms.Push(Me)
Me.Hide()
Form3.Show()
.......
'هنگام برگشتن به فرم قبلی
Me.Hide()
ShownForms.Pop.Show()