PDA

View Full Version : مشکل در Me.hide و me.visible=false



dr.pantagon
جمعه 20 دی 1392, 01:59 صبح
سلام
یک مشکل واقعا مسخره و اعصاب خورد کن برخوردم
من دو تا فرم دارم که یکی اصلی هست که با کلیک کردن روی دکمه ها مثلا ایجاد اشتراک صفحه فرو دیگه رو میاره و یکی دیگه هم برای ایجاد خود اشتراک هست

برای نمایش یک صفحه دیگه از این کد استفاده میکنم

another.ShowDialog()

و برای تو صفحه بعدیم چک میکنم که مثلا اگر فلان کد موجود نبود بیا صفحه رو ببنده ( هاید کنه یا وی زیبل رو فالس کنه ) و پیغام بده

با این کد
Private Sub another_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
checkok()
End Sub


Private Sub checkok()
Dim sqlText2 As String
sqlText2 = ("select code from T_Members where code='" & Label3.Text & "'")
Dim dt2 As DataTable = New DataTable
Dim sda2 As SqlDataAdapter = New SqlDataAdapter(sqlText2, cn)
sda2.Fill(dt2)
cmd.CommandText = sqlText2
cn.Close()
cn1.Close()
cn.Open()
If cmd.ExecuteReader.HasRows() Then
dload()
Else
cn.Close()
cn1.Close()
MsgBox(".ابتدا اشتراک را ایجاد فرمایید", MsgBoxStyle.Critical, "پیام سیستمی")
Me.Hide()
Me.Visible = False
End If
کد داره اجرا میشه شرط هم درسته پیام سیستمی رو میده ولی نه هاید می کنه نه ویزیبل رو فالس می کنه

واقعا نمی فهمم دلیل چیه

لطفا راهنمایی بفرمایید

dr.pantagon
جمعه 20 دی 1392, 02:15 صبح
طبق سرچی که زدم تو گوگل میگن نمیشه تو فرم لود از me.hide و visible استفاده کنی ولی ماله من تا همین امروز جواب میداد نمی دونم چی شد یک دفعه همش از کار افتاد

نوشتن opcity رو صفر کن که نمایش نده ولی یک مسخرس این روش البته اجرایی لطفا نظر و راه حل بدین
me.close هم میشه ول فرو رو کلا close میکنه دیگه

behrooz69
جمعه 20 دی 1392, 02:25 صبح
دوست من شما وقتی از Show dialog استفاده میکنی با me.close میتونی ببندیش . مشکلی نداره که ؟؟

me.visible=false رو حذف کن فقط me.hide() رو بنویس ببین کار میکنه.

dr.pantagon
جمعه 20 دی 1392, 02:42 صبح
خیر کار نمی کنه دوست من

behrooz69
جمعه 20 دی 1392, 12:56 عصر
عیبه واقعا !! بجای Else از ElseIf استفاده کردی ؟ بازم نشد ؟؟

اصلا بیا 1 کاری کن تو همین فرمت یه دکمه بذار و me.visible و Me.hide یا Me.close رو تست کن ببین کار میکنن اصلا .

systam
جمعه 20 دی 1392, 15:13 عصر
سلام
شما به جای
another.ShowDialog() بیا بنویس ()another.show بعد اون کارایی مثل hide ,visibel رو روش اعمال کن

mc_laren
جمعه 20 دی 1392, 16:51 عصر
سلام
تنها حالتی که امتحان کردم و جواب داد، استفاده از رویداد Shown می باشد، چون در حالت Load هنوز فرم شما ساخته نشده است که بتوانید آنرا مخفی نمایید.

boveiryghasem
شنبه 21 دی 1392, 08:58 صبح
سلام

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

Me.WindowState = FormWindowState.Minimized

Me.ShowInTaskbar = False

Hossis
شنبه 21 دی 1392, 09:18 صبح
منطقی ترین و اصولی ترین راه اینه که چک کردن اون شرط رو در قبل از لود فرم انجام بدی(checkok) و اگر شرط درست بود، فرم.شودیالوگ(showdialog) بشه