PDA

View Full Version : استفاده از فرم مثل یک Function



محسن بابائی
دوشنبه 13 فروردین 1386, 08:47 صبح
سلام
من می خوام وقتی یک فرم را اجرا می کنم پس از اینکه خواستم ازش خارج بشم یک یا چند مقدار را برگردونه .ممکنه این فرم را در چند فرم صداش بزنم . می خوام که دقیقا مثل یک Function باهاش کار کنم .
لطفا راهنمایی کنید .

.Net 2005

SYNDROME
دوشنبه 13 فروردین 1386, 09:22 صبح
با سلام
شما برای این کار در فرم مورد نظر یک آرایه و یا Object ای که مثل یک آرایه عمل کنید را قرار دهید.(ListBox)
در موقع کار با فرم آرایه را با مقادیر مورد نظر پر کنید و در هنگام خروج آرایه را به صورت مورد نظر بخوانید.
این یکی از روشهایی است که می توان استفاده کرد.

__H2__
چهارشنبه 15 فروردین 1386, 16:14 عصر
سلام
متغیر هایی خصوصی در ماژول فرم تعبیه کنید و مقادیر را در آنها بریزید.
و برای هر کدام یک ReadOnly Property تعریف کنید.
میتوانید نتایج را خیلی راحت بعد از دستور f.ShowDialog بدست آورید.

اگر هم برسر تابعی بودن اسرار دارید، باید از یک ساختار (structure) یا Class برای برگرداندن چند مقدار استفاده کنید.

محسن بابائی
پنج شنبه 16 فروردین 1386, 07:24 صبح
[QUOTE=__H2__;323909]سلام
متغیر هایی خصوصی در ماژول فرم تعبیه کنید و مقادیر را در آنها بریزید.
و برای هر کدام یک ReadOnly Property تعریف کنید.
میتوانید نتایج را خیلی راحت بعد از دستور f.ShowDialog بدست آورید.

اگر هم برسر تابعی بودن اسرار دارید، باید از یک ساختار (structure) یا Class برای برگرداندن چند مقدار استفاده کنید.[/QUOTE
سلام
اگر ممکنه بیشتر توضیح بدین . خصوصا در مورد دومی . یا یک مثال ساده بزنید.

__H2__
پنج شنبه 16 فروردین 1386, 10:38 صبح
سلام
از کدی شبیه این استفاده کنید:
(این کد برای نمونه است و امکان کد نویسی بهتر وجود دارد)


Option Explicit On
Option Strict On
Option Compare Text

Public Class Form1

Public Class Class1
Public Value1 As Integer
Public Value2 As String
Public Value3 As Date
End Class

Private _ret As New Class1

Public Shadows Function ShowDialog(ByVal owner As System.Windows.Forms.IWin32Window) As Class1
Call MyBase.ShowDialog(owner)
Return Me._ret
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me._ret.Value2 = "Button1_Click"
End Sub


و برای فراخانی هم چیزی شبیه این:


Dim retvalue As Form1.Class1
Dim f As New Form1
'any code...
'...
retvalue = f.ShowDialog(Me)
'code resume...
'...


موفق باشید.