چگونه می توان از Object های یک فرم در درون یک فرم دیگر استفاده کرد؟
در ویژوال بیسیک 6 این کار براحتی انجام می شد :
frmPersonel.txtPersonelName.text
با استفاده از Shared می توان این کار را انجام داد ولی کار راحتی نیست.
با تشکر
[/quote]
چگونه می توان از Object های یک فرم در درون یک فرم دیگر استفاده کرد؟
در ویژوال بیسیک 6 این کار براحتی انجام می شد :
frmPersonel.txtPersonelName.text
با استفاده از Shared می توان این کار را انجام داد ولی کار راحتی نیست.
با تشکر
[/quote]
تا وقتی که شما یک فرم را New نکردید خیر.
اما با Shared میتونید. زیاد هم سخت نیست
در مورد scope یا access level های دات نت قبلا بحث شده: http://www.barnamenevis.org/viewtopic.php?t=22859
هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مىآورند
گاهی اوقات که از Public Shared استفاده می کردم دیگر کنترلهای فرم مربوطه دیده نمی شدند
در ضمن مجبور بودم هر زیر روالی را که می خواستم از آن فرم استفاده نمایم را Shared کنم
سلام
منم یه راه حل دیگه بهت میگم
تو موقع New کردن فرم بعدی فرم فعلی رو بعنوان فرم والد برای اون تعریف کن
اینجوری اجازه دسترسی به فیلدهای اون رو از طربق فرم جدید داری
برای این کار هم کافیه تابع New فرم دوم رو که میخوای تو فرم اول اونرو ایجاد کنی Overload کنی و یه متغیر جدید برای نگهداری فرم والد هم تعریف کنی :
تعریف متغیر جدید
Private CallingForm As Object
تابع New اصلی فرم
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
تابع New جدید
Public Sub New(ByVal frmCaller As Object, ByVal SqlConn As String)
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
CallingForm = frmCaller
End Sub
فراخوانی اجزای فرم والد
If Not IsNothing(CallingForm) Then
CallingForm.Do...
End If
ایجاد فرم فرزند و ارسال فرم والد برای آن
Dim frmMain As New FormMain(Me)
جناب آقا مجید گل با تشکر ارز جوابتون
روشی که شما پیشنهاد دادید را اجرا کردم اما چیزی که متوجه شدم این بود که با استفاده از این روش فقط می توان به ویژگیهای خود فرم دسترسی پیدا کرد در حالیکه هدف من دسترسی به متغیرها و کنترلهای قرار داده شده بر روی فرم می باشد بعنوان مثال خواندن مقدار Cell یک DataGrid
در ضمن اگر ممکن است یک مثال عملی با استفاده از Shared بزنید
با تشکر