ورود

View Full Version : سوال: کمک : دسترسی به فرم قبلی



mahmood744
پنج شنبه 29 دی 1390, 18:37 عصر
سلام دوستان
من از داخل یک فرم که به صورت زیر تعریف کردم

Dim FormNew_Kharid1 As Kharid1
Set FormNew_Kharid1 = New Kharid1
FormNew_Kharid1.Show 0, Me

یک فرم دیگر را به صورت زیر فرا می خوانم

Dim Form_New As FormNew1
Set Form_New = New FormNew1
Form_New.Show 1, Me

حالا من می خوام از فرم دوم(Form_New) مستقیما به داخل فرم اول (FormNew_Kharid1) مقدار یک تکس باکس را عوض کنم
ممنوم می شم کسی منو کمک کنه

یعنی وقتی فرم Form_New باز است , کاربر هر چیزی که وارد کرد در فرم دوم همزمان به فرم اول منتقل بشه

من نمی دونم چطوری از فرم دوم به فرم اول دستیابی پیدا کنم

با تشکر از راهنمایی شما دوستان

mahmood744
پنج شنبه 29 دی 1390, 19:15 عصر
کسی نیست کمک کنه :گریه:
من منتظرم
Me در فرم یعنی فرم جاری
اما برای دستیابی به فرمی که این فرم را صدا زده باید چکار کرد :متفکر:

mahmood744
پنج شنبه 29 دی 1390, 19:39 عصر
این هم سورس برنامه

81102


من منتظر راهنماییتان هستم

just4froum
پنج شنبه 29 دی 1390, 20:08 عصر
با سلام :

با اين روش مي توني :

81103

sr2m72
پنج شنبه 29 دی 1390, 20:32 عصر
Form2.Label1.Caption = Text1.Text

mahmood744
پنج شنبه 29 دی 1390, 20:40 عصر
با تشکر از جوابتان
اما اگر فرم شماره 2 را کاربر چند بار باز کنه چواب نمی ده
و فقط مقدار به اولین فرم ایجاد شده داده می شود

mahmood744
پنج شنبه 29 دی 1390, 20:43 عصر
من این مشکل را حل کردم :لبخندساده:
اما واقعا روش راحت تری و اصولی تر نیست

81109

هیچ جور نمیشه فهمید که چه فرمی , فرم جاری را نمایش داده (فرم مادرش)

من منتظر راهکارهای بهتری هستم

just4froum
پنج شنبه 29 دی 1390, 20:51 عصر
براي اين كه تمامي فرم هاي 2 تغيير كنند مي توني از اين روش استفاده كني


For x = 0 To Forms.Count - 1

If Forms(x).Name = "Form2" Then Forms(x).Label1.Caption = "HELLO"

Next x





اما واقعا روش راحت تری و اصولی تر نیست


اگر هم باشد بنده بلد نيستم و اين چيزي بود كه از دستم بر مي آمد.

موفق و سربلند باشيد.

M.T.P
پنج شنبه 29 دی 1390, 21:32 عصر
سلام بهتره اشیای که از نوع فرم می سازید رو داخل یه ماژول تعریف کنید و در صورت نیاز ازشون استفاده کنید.

مثال در ماژول:



Public CForm1 As Form1
Public CForm2 As Form2

حالا برای نمایش فرم 2 :



Set CForm2 = New Form2
CForm2.Show vbModal

و برای دسترسی به فرم 1 از فرم 2 :



CForm1.Caption = "MyText"

mahmood744
پنج شنبه 29 دی 1390, 22:00 عصر
دوست عزیز مشکل اینجاست که فرم 2 از چند جای مختلف و چندین بار باز می شود
اگر من این فرم را به صورت Global در ماژول تعریف کنم
تمامی فرم ها فقط یک فرم می شود و نتیجه همه فرم ها یکی است

اما من میخواهم هر بار که کاربر فرم 2 را باز میکند فقط یک فرم جداگانه 3 برایش باز شود
و به فرمهای قبلی کار نگیرد که چند تا کاربر باز کرده

IamOverlord
شنبه 01 بهمن 1390, 15:04 عصر
می تونی hWnd هر Form رو داشته باشی؟