PDA

View Full Version : مشكل با Dialog Result



crying sphere
شنبه 01 آبان 1389, 15:21 عصر
با سلام

من با Dialog Result مشكل دارم!!! :عصبانی++:

اين كه وقتي مقدار Dialog Result مثلا يك دكمه رو روي OK يا هر چيز ديگه اي مي زارم، وقتي روش كليك مي كنم هر اتفاقي هم كه بيافته فرمم بسته ميشه!!! :اشتباه:

براي مثال فرض كنيم اطلاعات لازم براي ثبت نام رو مي خوام تو بانك بريزم. وقتي فيلد آي دي خالي باشه با يه پيغام اطلاع مي دم. وقتي رو Ok كليك مي كنم فرم بسته ميشه!!! همين طور هم وقتي اطلاعات با موفقيت ثبت ميشه!!!

كلافم كرده. همه فرم هام اينجوريه. هر جور فكري بكنين من اجرا كردم اما جواب نداد!! :گریه::گریه:

كسي مي دونه چرا اينجوريه؟؟

alimanam
شنبه 01 آبان 1389, 15:46 عصر
با سلام

دوست عزیز احتمالاً درست انجامش ندادی . این رو تست کن 100 % جواب میده . موفق باشید .

فرض بر این است که 3 تا تکس باکس در فرم هست که کاربر اون ها رو باید حتماً پر کنه .

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If txt1.Text = String.Empty Or txt2.Text = String.Empty Or txt3.Text = String.Empty Then
Dim diaRes As DialogResult = MsgBox("لطفا تمامی اطلاعات را وارد کنید", MsgBoxStyle.Exclamation)
Else
' کدهای ذخیره کردن اطلاعات در دیتابیس
End If
End Sub

End Class

Alghoochi
یک شنبه 02 آبان 1389, 14:18 عصر
پس از برگشت دادن مقدار Dialog Result فرم به طور خودکار بسته میشه. هرکاری که می خوای انجام بدی باید کدهاش رو قبل از تعیین مقدار برای Dialog Result انجام بده. استفاده از یک دستور IF مشابه کدی که alimanam نوشتن کمکت می کنه

crying sphere
چهارشنبه 05 آبان 1389, 16:12 عصر
پس از برگشت دادن مقدار Dialog Result فرم به طور خودکار بسته میشه. هرکاری که می خوای انجام بدی باید کدهاش رو قبل از تعیین مقدار برای Dialog Result انجام بده. استفاده از یک دستور IF مشابه کدی که alimanam نوشتن کمکت می کنه

با تشكر از شما دوستان

من مطمئنم كدهام مشكل نداره، حدود بيشتر از 10 بار بررسي كردم. فرممو پاك كردم و دوباره ساختمش. دكمه رو پاك كردم و دوباره ساختمش بازم نشد. بالا هم گفتم وقتي كه ديالوگ ريزالت رو روي مقداري قرارش مي دم اين جوري ميشه و گرنه كامل كار مي كنه.

اين رو هم بگم كه پروژه من تا الان 47 تا فرم داره ب اضافه حدود 1500 خط كد ماژول. همه فرم هام همين مشكل رو دارن.

بازم اگر راهنمايي كنيد و نظر بديد ممنون مي شم.

ali_najari
چهارشنبه 05 آبان 1389, 16:22 عصر
دوست عزيز ميتونيد يه تيكه از كدي رو كه مربوط به اين موضوع هست رو بزاريد تا بتونيم بهتر كمكت كنيم

crying sphere
چهارشنبه 05 آبان 1389, 16:31 عصر
دوست عزيز ميتونيد يه تيكه از كدي رو كه مربوط به اين موضوع هست رو بزاريد تا بتونيم بهتر كمكت كنيم

ببينيد من وقتي همون فرم از برناممو توي يك پروژه ديگه Add مي كنم مشكل نداره. فقط وقتي كه پروژه خودمو اجراش ميكنم توي اون فرم اين مشكل پيش مياد.

نظر؟! :اشتباه:

الان دارم روي بانكش كار ميكنم. چون با اس كيو ال 2008 ايجادش كردم و اينجا 2005 هست اتچ نميشه. دارم دوباره مي سازمش. اگر باز هم مشكل رفع نشد كد ميزارم. ممنون

crying sphere
چهارشنبه 05 آبان 1389, 17:16 عصر
حل نشد

يه تيكه از برنامه رو گذاشتم

توي اينم همين مشكلو داره

Rezahak
چهارشنبه 05 آبان 1389, 17:40 عصر
با اجازتون من يك تغييراتي در كدتون دادم و دوباره گذاشتمش ببينيد مشكل حل شد يا نه؟

crying sphere
چهارشنبه 05 آبان 1389, 17:56 عصر
آقا خيلي از شما ممنونم

خب حالا اگه خطا بده ( منظور اينكه مثلا كد رو وارد نكنيم و تائيد رو بزنيم ) چجور بايد فرم رو بست؟ بايد قبلش res رو true كنيم؟ درسته؟
يه مشكل ديگش رفع نشده اينكه اطلاعات كه ثبت شد فرم بسته ميشه. من نمي خوام بسته بشه. اينم بايد بعدش res رو false كنيم؟

Alghoochi
چهارشنبه 05 آبان 1389, 22:58 عصر
شما به جای تنظیم مقدار DialogResult در properties دکمه بیا و اینکارو با کدنویسی انجام بده. اگه خواستی بسته بشه از Me.DialogResult = Windows.Forms.DialogResult.OK استفاده کن.

اما اینکه وقتی خطا میده فرم بسته نمی شه فکر کنم مشکل از ErrorProvider باشه

crying sphere
شنبه 08 آبان 1389, 15:26 عصر
شما به جای تنظیم مقدار DialogResult در properties دکمه بیا و اینکارو با کدنویسی انجام بده. اگه خواستی بسته بشه از Me.DialogResult = Windows.Forms.DialogResult.OK استفاده کن.

اما اینکه وقتی خطا میده فرم بسته نمی شه فکر کنم مشکل از ErrorProvider باشه


با تشكر از شما دوست عزيز

بله درست است. اين كد خيلي بهتر است.
كد برنامه قبلي Rezahak عزيز مشكلي كه داشت اين بود كه مقدار ok ديالوگ ريزالت را برنمي گرداند.

مشكل حل شد % :تشویق::تشویق::تشویق:

dokhmal
چهارشنبه 27 بهمن 1389, 12:21 عصر
طبق توضیحاتی که دادید
من فکر می کنم dialog resaul برای فرم مورد نظرتون هم تنظیم شده یعنی علاوه بر اینکه دکمه دارای dialogresault.ok هست ، برای خصوصیت dialogresault فرم هم حالت ok رو در نظر گرفتید روی فرم کلیک کنید و از پنجره خصوصیات ،dialog resault رو None کنید درست میشه

dokhmal
چهارشنبه 27 بهمن 1389, 12:25 عصر
:چشمک: الان اومدم صفحه 2 دیدم مشکلتون خدا رو شکر حل شده ،من دیر رسیدم