PDA

View Full Version : سوال: باز کردن فرم ها در فرم اصلی مانند VS



morteza271
شنبه 19 فروردین 1391, 12:28 عصر
سلام دوستان.

من میخوام فرم های برنامه رو داخل فرم اصلی باز کنم یه جوری که همانند تب به فرم اصلی اضافه بشه.
مانند خود VS که وقتی یه فرم جدید باز میکنی براش یه تب جدید در نظر میگیره.
منم میخوام همچین کاری بکنم و از کامپوننت های دات نت بار (DevComponent) استفاده میکنم.

حالا باید از کدوم کنترل هاش استفاده کنم تا بتونم این کار رو انجام بدم؟
چه کدهایی باید بنویسم تا درست بشه؟

با تشکر...

programerinfonet
شنبه 19 فروردین 1391, 15:30 عصر
تا اونجا که من می دونم
دوست عزیز ویژوال استادیو خودش هسته است یعنی فرم برای اون یک کنترل شناخته شده است مثل دکمه و ...
ولی تو با این برنامه داری کار می کنی و محدودی ولی بهت پیشنهاد می کنم که شبیه سازی کن با user control

morteza271
شنبه 19 فروردین 1391, 19:18 عصر
ممنونم دوست عزیز.
ولی شما خیلی سخت گرفتین ها.
با استفاده از کنترل های tabStrip و superTabStrip از مجموعه دات نت بار میشه همین کار رو انجام داد.
خودم تونستم درستش کنم.
بازم ممنون.

hakim22
یک شنبه 20 فروردین 1391, 10:14 صبح
برای اینکار باید با فرمها مثل اشیایی مثل دکمه رفتار بشه.
کد زیر به یک panel یک فرم رو اضافه میکنه :


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myDlg As New Form2
myDlg.TopLevel = False
Panel1.Controls.Add(myDlg)
myDlg.Show()
myDlg.Dock = DockStyle.Fill

End Sub


ولی بهتره از SplitContainer استفاده کنید تا انعطاف پذیری زیادی داشته باشه.
با این روش دیگه در هیچ برنامه ای نیاز نیست از MdiConatiner استفاده کنید. به نظر من که از اون روش دیگه خیلی بهتره.