PDA

View Full Version : سوال: FrmActive



mpardakhteh
پنج شنبه 29 بهمن 1388, 13:37 عصر
من یک پروژه دارم می نویسم که یک فرم اصلی به نام frmmain داره که parrent فرم ها به حساب می آید در این فرم toolbar ی تعریف کردم که دکمه های اصلی save ، Print ، ... بر روی آن قرار دارد و یک سری فرم که mdichild = true . من میخوام وقتی هر فرمی که رو که باز می کنم و یک سری کار بر روی اون انجام میدم رو بتونم با دکمه های روی toolbar ی که روی frmmain هستش کنترل کنم من این کار رو تو vb انجام دادم ولی تو net. نمی دونم باید چی کار کنم . البته فرم Active رو می تونم شناسایی کنم ولی از چه روشی باید درون تابع فرم فعال رفت .

Alghoochi
جمعه 30 بهمن 1388, 01:13 صبح
منظور شما اینه که روی تولبار اگه رو پرینت کلیک کردید فرمی که انتخاب شده چاپ بشه؟
اگه منظورتون این باشه می تونی تو فرم اصلیت یه متغیر درنظر بگیری و مقدار اونو با فرم انتخاب شده ات پر کنی.

Hossis
جمعه 30 بهمن 1388, 08:14 صبح
باید در فرم MDI از خاصیت ActiveForm استفاده کنید.

mpardakhteh
یک شنبه 02 اسفند 1388, 12:58 عصر
چطور می تونم تابع save را در فرمهای child صدا بزنم

mpardakhteh
یک شنبه 02 اسفند 1388, 12:59 عصر
لطفا با نمونه کد مثال بزنید

amin_iman82
یک شنبه 02 اسفند 1388, 23:25 عصر
مثلا شما میخوای وقتی توی فرم مادر دکمه ذخیره رو زدی ، متن داخل textbox1 که توی فرم child هست رو داخل فایل ذخیره کنی.

داخل رویداد کلید دکمه ی ذخیره اینطوری بنویس (داخل فرم مادر)

Dim text As String = ActiveForm.TextBox1.Text

حالا متغیر text رو داخل یه فایل ذخیره کن.

amin_iman82
یک شنبه 02 اسفند 1388, 23:35 عصر
اما اگر منظورتون اینه که تابعی که داخل MDI هست رو صدا بزنی اینو امتحان کن:

فرض کنیم MDI فرم شما اسمش Form1 هست و یه تابع به این شکل داره:

Public Function MonthName ( mth AS Interger) As String
.....
end Function


داخل Child هرجا احتیاج به فراخوانی تابع داخل MDI داشتی اینو بنویس:

Dim form As New Form1
Dim mth As String

mth = form.MonthName(1) ' Farakhani tabe


حتما تابع رو public تعریف کنید
من اینو تست نکردم اما به احتمال زیاد جواب میده ، اگه مشکلی بود بگید تا بگردم ببینم راه دیگه ای هست