PDA

View Full Version : چگونه میتوان برای یک فرم Return Value تعریف کرد؟



edisoon
پنج شنبه 25 مهر 1387, 12:17 عصر
چگونه میتوانم از یک فرم Return Value بگیرم و از آن در فرمهای دیگر استفاده کنم.

به عبارتی دیگر من یک فرم را در فرم دیگر Show میکنم، در این فرم جدید انتخابهایی وجود دارد که کاربر پس از تایید و بسته شدن فرم باید مقادیر این فرم در فرمی که این فرم در آن Show شده استفاده شود. روش این کار چیست؟

reza6384
پنج شنبه 25 مهر 1387, 12:38 عصر
سلام.
فرض كنيم كه شما مي خواهيد در Form1 با زده شدن يك دكمه Form2‌نمايش داده شود و بعد از بسته شدن Form2 يك مقدار برگردانده شود. براي اينكار بايد از كدي شبيه كد زير استفاده كنيد :



Public Class Form2

Private GloablVar As String

Sub DataGridView1_Click(sender as object,.....) Handles DataGridView1_Click
Me.GlobalVar = Me.DataGridView1.CurrentCell.Value
Me.Close()
End Sub

Function ReturnSomeValue() as string
Me.ShowDialog()
Return Me.GlobalVar
End Function

End Class




Public Class Form1()

Sub BtnBrowse_Click(sender as object,.....) handles ....
Dim F2 as new form2
Me.Textbox1.Text = F2.ReturnSomeValue()
End Sub

End Class


وقتي كه BtnBrowse‌ كليك بشه پروسه ReturnSomeValue‌فراخواني ميشه. و بعد از اينكه فرم نمايش داده شد تابع منتظر ميمونه تا فرم بسته بشه (ShowDialog) و بعد از اون مقدار GlobalVar رو بر ميگردونه.
مثلا فرض كردم كه Form1 فرم فروشه كه شما با زدن BtnBrowse‌از Form2 تقاصاي يك كد كالا رو مي كنيد و فرم2 كه يك DataGridView شامل كدهاي كالا داره نمايش داده ميشه و كاربر با كليك روي اون مقدارش رو به TextBox1‌در Form1 مياره.

edisoon
پنج شنبه 25 مهر 1387, 15:02 عصر
روش جالبی بود، یه سئوال دیگه، این کار شما فقط یک مقدار رو برمیگردونه، حال سئوال من این است که اگه بخواهیم چند Value رو برگردونیم باید برای هرکدوم یک Function تعریف کنیم؟

reza6384
جمعه 26 مهر 1387, 00:11 صبح
شما چند روز پیش اینکه چجوری چند تا مقدار رو برگردونید مطرح کردید و فکر کنم به این نتیجه رسیدین که از Collection استفاده کنید تا محدودیت نوع و تعداد نداشته باشید. برای اینکار هم می تونید به جای برگردوندن یک مقدار یک Collection برگردونید.

domidimod
شنبه 27 مهر 1387, 03:41 صبح
سلام دوست عزیز
میشه در مورد Collection و چگونگی کار باهاش توضیح بدین
از روشی که ارائه دادید استفاده کردم و کاملا متوجه شدم ... ممنون
اما دوست دارم این مسئله برگرداندن چند خروجی رو هم یاد بگیرم
با تشکر