PDA

View Full Version : سوال: مشکل عجیب



zaeimh90
سه شنبه 04 مهر 1391, 14:11 عصر
سلام خدمت همه دوستان.
به یه مشکل عجیب برخوردم.
زمانی که یه فرم رو با استفاده از خاصیت showdialog نمایش میدم دستورات بعد از خط form1.showdialog کامپایل نمیشه.
جالبه برام.
و اصرار دارم که از showdialog استفاده کنم چون میخوام وقتی مثلا form1 روی form2 میاد form1 زیرش باشه ولی نشه روش کلیک کرد و روی form2 قفل بشه.به عبارتی تا زمانی که نبندیمش form1 فعال نشه.
ممنون میشم کسی راهنماییم کنه.

ISJ_PRG
سه شنبه 04 مهر 1391, 14:50 عصر
من یه مثال برات میزنم و امبد وارم که مثالم مفید باشه:
کد زیر رو ببین:


form1.showdialog()

"form1.text="Sample


خب مسلماً کامپایلر نمی تونه اول بیاد فرم رو نشون بده بعد کپشن (وی بی دات نتیش میشه تکست:قهقهه::بامزه:) فرم رو عوض کنه! می تونه؟
شما باید اول خصوصیات رو اول تعریف کنی و بعد فرم رو نمایش بدی

سوالی بود بازم در خدمتم

راستی اگه برای کروم افزونه نوشتی یا اطلاعاتی داری بیا به این تاپیک سخت محتاج کمکم!

http://barnamenevis.org/showthread.p...B1%D9%88%D9%85

ممنون

zaeimh90
سه شنبه 04 مهر 1391, 15:08 عصر
ممنون.اون درسته ولی فکر کن وقتی که فرم لود شده میخوای تغییراتی بدی.
مثلا یک دکمه رو جابجا کنی، یا حتی msgbox هم فراخونی نمیشه.راه حلی برای این میخوام.مرسی.

ISJ_PRG
سه شنبه 04 مهر 1391, 15:48 عصر
ممنون.اون درسته ولی فکر کن وقتی که فرم لود شده میخوای تغییراتی بدی.
مثلا یک دکمه رو جابجا کنی، یا حتی msgbox هم فراخونی نمیشه.راه حلی برای این میخوام.مرسی.
جواب همه این ها همنین که گفتم

یه چیز دیگه کدت رو بزار ببینم میتونم بهتر راهنماییت کنم؟

zaeimh90
سه شنبه 04 مهر 1391, 16:03 عصر
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.ShowDialog()
MsgBox("OK!")
End Sub
این قسمت کد تو کلاس form1 هست.
و مشکل اینه که این msgbox تو فرم1 فراخونی شده، ولی اجرا نمیشه این خط و خیلی برام عجیبه.
اگر از فرم2 بود حرف شما درسته ولی ایم اصلا داخل فرم1 هست.هر تغییراتی هم داخل فرم یک بدی بازم اجرا نمیشه.حتی بعده msgbox بنویس Button1.Height = 500 بازم نمیشه یعنی انگار دستورات قطع میشه و جالب انه که وقتی فورم2 رو میبندی دستورات بعد showdialog اجرا میشه.
میخوام دستورات بعدشم اجرا بشه.ممنون.

Hybrid
سه شنبه 04 مهر 1391, 17:10 عصر
سلام ، شما در دستورات بعدی میخواین چه کاری رو انجام بدین ، همون دستورات رو داخل رویداد Load فرم دوم قرار بدین.

ISJ_PRG
سه شنبه 04 مهر 1391, 17:12 عصر
زبونم مو در اورد بابا شما هر کاری می خواید بکنید دستوارتشو قبل از نمایش فرم باید بدی
حالا یا من دوزاری کجه که نمیوفته یا شما داری بد میگی مشکلتو
(به سبک حشمت فردوس) افتااااااااااااااااددددد! :قهقهه:

ISJ_PRG
سه شنبه 04 مهر 1391, 17:19 عصر
سلام ، شما در دستورات بعدی میخواین چه کاری رو انجام بدین ، همون دستورات رو داخل رویداد Load فرم دوم قرار بدین.
سیاوش جان یه سوالی برام پیش اومده من می خوام مثلاً حین اجرا فرم 1 مثلاً فرم دو به نمایش در بیاد اگه تو فرم لود بزنیم قبلش میاد چه کار کنم؟
ضمنا با افزونه نویسی کروم آشنایی داری؟ یه سوال مطرح کردم انگار المپیاد جهانی کامپیوتره :متعجب:! هیشکی نیست جواب بده!:گریه:
می تونی بیا راهنماییم کن یه سوال سادس!
ممنون
لینکشم تو پست 2 گذاشتم
یا حق

مهرداد صفا
سه شنبه 04 مهر 1391, 18:31 عصر
سلام خدمت همه دوستان.
به یه مشکل عجیب برخوردم.
زمانی که یه فرم رو با استفاده از خاصیت showdialog نمایش میدم دستورات بعد از خط form1.showdialog کامپایل نمیشه.
جالبه برام.
و اصرار دارم که از showdialog استفاده کنم چون میخوام وقتی مثلا form1 روی form2 میاد form1 زیرش باشه ولی نشه روش کلیک کرد و روی form2 قفل بشه.به عبارتی تا زمانی که نبندیمش form1 فعال نشه.
ممنون میشم کسی راهنماییم کنه.


سلام
عجیب نیست. شما فرمتون رو به صروت مودال نمایش دادی مثل یک msgbox
میتونید فرمتون رو با متود show نمایش دهید و خصوصیت enabled فرم اول رو false کنید

alimanam
سه شنبه 04 مهر 1391, 18:37 عصر
با سلام


سیاوش جان یه سوالی برام پیش اومده من می خوام مثلاً حین اجرا فرم 1 مثلاً فرم دو به نمایش در بیاد اگه تو فرم لود بزنیم قبلش میاد چه کار کنم؟

با کسب اجازه از دوست خوبم آقا سیاوش , برای حل این موضوع به اندازه n+1 راه وجود داره که یکی اش استفاده از کد زیره :

Dim frm As New Form2
frm.Show()


کد فوق رو در رویداد Shown فرم 1 بنویسین .

موفق باشید./

pourang_us
چهارشنبه 05 مهر 1391, 19:04 عصر
دوست عزیز
کدهای بعد از اون خط کامپایل میشه اما تا زمانی که فرم باز شده با ShowDialog بسته نشده نوبت اجرا بهش نمیرسه! حالا شما میخوای بعد از باز شدن فرم Msgbox چیزی رو نمایش بده در روال متناسب (مثلا Load) فرم باز شده قرار بده و بعد از بسته شدن فرم مجددا ادامه کدهای اون در صورت فراخوانی اجرا میشه امیدوارم سوالت رو درست درک کرده باشم.
برای همین یه نمونه کوچک هم گذاشتم برات
http://www.sharefile.ir/uploads/1348706552.zip

موفق باشی

zaeimh90
پنج شنبه 06 مهر 1391, 18:05 عصر
از همه دوستان تشکر میکنم.
همه راه حل هایی که شماها گفتین درسته ولی گفتم شاید راه حلی باشه که بعد اجرای دستور showdialog خطهای بعدش کامپایل شه.
هم میتونستم تو لود فرمی که نشون داده میشه گذاشت، هم از دستوری که دوست خوبم alimanam گذاشته.
اینارو همشو میدونستم گفتم شاید روشی باشه که دستورات بعدیش کامپایل شه. تو یه سایت خوندم که زمانی که showdialog یه فرم فراخونی میشه تمام متودهایه اون متوقف میشه داخل functionی که ازش اجرا شده تا زمانی که فرمی که اجرا شده بسته شه.
خلاسه از همه دوستانم ممنون.
مخصوصا از دوست خوبم pourang_us.