PDA

View Full Version : سوال: خالي كردن فرم



mohsenm66
شنبه 22 خرداد 1389, 12:24 عصر
من در پروژه ام يه فرم دارم كه وقتي روي يه دكمه add كه خودم گذاشتن كليك مي كنم يه فرم ديگه به صورت showdialog باز ميشه و يكسري اطلاعات از كاربر ميگيرم . كاربر فرم را پر كرده و كليد ثبت را ميزند و به فرم اصلي برمي گردد .
حال اگر دوباره روي add كليك كند و فرم را مجددا باز كند و بخواهد اطلاعات جديد وارد كند همان اطلاعات قبلي نشان داده ميشود .
براي اينكه اين اطلاعات قبلي را نشان نده بايد چيكار كنم ؟

karim orooji
شنبه 22 خرداد 1389, 12:37 عصر
با سلام به دوست گرامی
خوب برای این کار زمانی که شما میخواید فرم رو لود کنید میتونید در لود فرمی که فراخوانی میشه کار خالی کردم فرم رو انجام بدی
اگه textbox برای ثبت اطلاعات استفاده میکنی
مثال :


textbox.text=""

mohsenm66
شنبه 22 خرداد 1389, 12:51 عصر
با سلام به دوست گرامی
خوب برای این کار زمانی که شما میخواید فرم رو لود کنید میتونید در لود فرمی که فراخوانی میشه کار خالی کردم فرم رو انجام بدی
اگه textbox برای ثبت اطلاعات استفاده میکنی
مثال :


textbox.text=""


دوست عزيز ممنون از جوابت
ولي من خودم اين كار را بلدم ميخواهم واي چون تعداد اجزاي فرم خيلي زياد است اين كار وقت گير ميشود . ميخواستم بدونم آيا راه ساده تري براي اين كار وجود داره يا خير ؟

ali_ahr7
شنبه 22 خرداد 1389, 14:28 عصر
بلي يه راه حل كاربردي و خوب هست البته من خودم هنوز تست نكردم.صبر كن لينكش رو پيدا كنم و برات بذارم.

ebrahimv
شنبه 22 خرداد 1389, 17:39 عصر
قبل از نمايش فرمت يه شي از فرمت ايجاد كن و بعد اونو نمايش بده
dim f as new form1
f.showdialog ()

Hossis
شنبه 22 خرداد 1389, 23:44 عصر
بهترين راه استفاده از دستور Dispose هست که به کلي فرم يا هر کنترلي رو از حافظه پاک مي کند
Form2.showdialog
form2.dispose
راه ديگر اين است
Form2=nothing

ali_ahr7
یک شنبه 23 خرداد 1389, 03:30 صبح
سلام من لينكش رو فرستادم اما ظاهرا نمايش داده نشد.خود مطلب اينه:


Dim item as Object
For Each item In Me.Controls
If item.GetType() Is GetType(TextBox) Then
DirectCast(item, TextBox).Clear()
End If
Next




راستي اين كد مطلب رو كاربر دائمي "netsky" گذاشتن.
توضيحش هم اينه:


با این کد میتونید خصوصیات کنترل هایی که داخل فرمتون دارید رو به صورت دسته جمعی تغییر بدید . مثلا من در این مثال خواستم که خاصیت Text کنترل TextBox رو تغییر بدم . فرض کنید 20 تا TextBox روی فرمم دارم . حالا میخام هر متنی رو که توی 20 تا TextBox هست رو پاک کنم . حالا شاید این سوال در ذهن شما پیش بیاد و بگید که این یارو ( یعنی بنده ) چقدر بی مغزه ؟؟ این کار رو که میشه با متد Clear هر تکست باکس انجام داد . این حرف شما در مواقعی درسته که تعداد TextBox ها کم باشه مثلا در حد 4 الی 5 تا . ولی در برنامه ای که مثلا 20 تا TextBox داشته باشه دیگه نمیشه به اینصورت عمل کرد . پس باید یه راه حل دیگه پیدا کنیم . کد زیر هر چی TextBox توی برنامه هست رو میگیره و خاصیتی رو که شما براش تعریف میکنید تغییر میده .

Open-Source
یک شنبه 23 خرداد 1389, 10:27 صبح
حتما شما فرم تون رو به این صورت باز میکنید:
Form2.ShowDialog()
خوب معلومه که فرم بعد از بستن در حافظه میمونه.

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

Dim f As New Form2
f.ShowDialog()
F.Dispose()