PDA

View Full Version : مبتدی: بستن فرم؟



AlgorithmX
چهارشنبه 22 دی 1389, 22:12 عصر
سلام!
در برنامه من دو فرم وجود دارند در فرم 1 یک عنصر Timer موجود است و دستورات فرم اینگونه است:


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Form1.Close()
Form2.Show()
End Sub


قصد من آن است که فرم 1 چند ثانیه نمایش داده شود و بعد بسته و فرم 2 نمایش داده شود اما منطقه ای که در سورس زیرش خط دار کرده ام اخطار میدهد!!!
چگونه فرم باز را ببندم؟؟

AlgorithmX
چهارشنبه 22 دی 1389, 23:30 عصر
کسی کمک نمیاد؟؟

ali_najari
چهارشنبه 22 دی 1389, 23:34 عصر
سلام!
در برنامه من دو فرم وجود دارند در فرم 1 یک عنصر Timer موجود است و دستورات فرم اینگونه است:


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Form1.Close()
Form2.Show()
End Sub


قصد من آن است که فرم 1 چند ثانیه نمایش داده شود و بعد بسته و فرم 2 نمایش داده شود اما منطقه ای که در سورس زیرش خط دار کرده ام اخطار میدهد!!!
چگونه فرم باز را ببندم؟؟

دوست عزيز بجاي اينكه بنويسيد Form1.close بنويسيد Me.close

omid-vbAuto
چهارشنبه 22 دی 1389, 23:36 عصر
کسی کمک نمیاد؟؟

شما باید چند جا رو تو آپشن دستکاری کنی.همچنین کدهائی که نوشتی غلط هستن.

Reza,M
چهارشنبه 22 دی 1389, 23:40 عصر
کسی کمک نمیاد؟؟
با سلام
دوست عزيز اولا براي صدا زدن فرم بجاي اينكه اسم خودشو بگي يعني Form1 ! بايد از Me استفاده كني و بنويسي Me.Close اما براي كاري كه شما ميخواي انجام بدي نوشتن Me.Close هم صحيح نيست چون قبل از اينكه Form2 نشون داده بشه برنامه بسته ميشه اما ميتوني بصورت زير استفاده كني

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Me.Hide()
Form2.Show()
End Sub

AlgorithmX
چهارشنبه 22 دی 1389, 23:48 عصر
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Me.Hide() <------
Form2.Show()
End Sub


ولی من نمیخواهم که فرم 1 مخفی بشه!! میخواهم کلا از پروسه خارج بشه!!

AlgorithmX
چهارشنبه 22 دی 1389, 23:51 عصر
شما باید چند جا رو تو آپشن دستکاری کنی

میشه بگی کجاها؟؟



همچنین کدهائی که نوشتی غلط هستن.

اگه غلط نبودن که من دیگه کاری نداشتم!!

omid-vbAuto
پنج شنبه 23 دی 1389, 00:18 صبح
میشه بگی کجاها؟؟




اگه غلط نبودن که من دیگه کاری نداشتم!!

فکر کنم شما تازه از vb6 آمدین به دات نت پس این ایرادها هم طبیعی هست.ایرادشو دوستان گفتن.

اما اگه بخواهی که فرم 1 رو کلا ببندی و از حافظه خارج کنی بای کارهای زیر رو انجام بدی:

رو My Project دابل کلیک کن.

برو قسمت Application .

بعد برو پایین قسمت Shutdown mode .

وقتی که رسیدی یه کمبو باکس داره اونو بذار رو حالت When Last form close


بعدش می تونی از کدهائی که دوستان دادی استفاده کنی با این مزیت که می تونی فرم 1 رو بجای هیدن Close کنی.:چشمک:

AlgorithmX
پنج شنبه 23 دی 1389, 00:25 صبح
فکر کنم شما تازه از vb6 آمدین

درسته فکر کردی من VB6 کار بودم و الگوریتم هامو با توجه به VB6 مینویسم! (که باید آپدیتش کنم!!)

ali_najari
پنج شنبه 23 دی 1389, 01:17 صبح
شما باید چند جا رو تو آپشن دستکاری کنی.همچنین کدهائی که نوشتی غلط هستن.


دوست عزيز چنين كدهايي كه ايشون نوشته بودن غلط نيست!
مشكلي نداره
شما از كجا مطمئن هستيد كه Form1 همان فرمي هست كه در ابتدا باز ميشه ؟

درضمن بهتر بود بجاي اينكه ايراد بگيريد چيزي رو كه فكر ميكرديد درست هست رو همون موقع بيان ميكرديد!

omid-vbAuto
پنج شنبه 23 دی 1389, 09:56 صبح
دوست عزيز چنين كدهايي كه ايشون نوشته بودن غلط نيست!
مشكلي نداره
شما از كجا مطمئن هستيد كه Form1 همان فرمي هست كه در ابتدا باز ميشه ؟

درضمن بهتر بود بجاي اينكه ايراد بگيريد چيزي رو كه فكر ميكرديد درست هست رو همون موقع بيان ميكرديد!

OK
NO Problam
!!!