PDA

View Full Version : سوال: خطای NullReferenceExcetion was unhandled در هنگام اجراي برنامه



anaram1991
یک شنبه 09 شهریور 1393, 14:22 عصر
با سلام خدمت دوستان عزيز

برنامه اي كه نوشتم از sql براي برقراري ارتباط استفاده ميكنه .
برنامه با زبان c# و فريم ورك 3.5

زماني كه برنامه در حال اجراس و من عبارتي رو براي جستجو تايپ كردم (توي تكست باكس txtSearch) و دكمه جستجو رو كليك كردم خطاي زير رو ميده
NullReferenceExcetion was unhandled
Object reference not set to an instance of an object.
و از تيكه كد زير ايراد ميگيره
string txt = (Application.OpenForms["frmSearch"].Controls["txtSearch"] as TextBox).Text;
كسي ميدونه مشكلش چيه ؟؟؟؟
لطفا راهنماييم كنين!!!!
واقعا لازم دارم

forodo
یک شنبه 09 شهریور 1393, 15:23 عصر
سلام
این خط چیکار می کنه؟

sobaisobai
یک شنبه 09 شهریور 1393, 16:00 عصر
سلام


frmSearch form1 = (frmSearch)Application.OpenForms["frmSearch"];
string txt = form1.txtSearch.Text;

anaram1991
یک شنبه 09 شهریور 1393, 18:59 عصر
سلام
این خط چیکار می کنه؟

اين خط كد رو توي يك كلاس نوشتم براي اينكه بتونم از تكست باكسي كه توي يه فرم ديگه هستش استفاده كنم (از مقداري كه كاربر تو اون تكست باكس وارد ميكنه در حين اجراي برنامه)

forodo
یک شنبه 09 شهریور 1393, 19:16 عصر
اين خط كد رو توي يك كلاس نوشتم براي اينكه بتونم از تكست باكسي كه توي يه فرم ديگه هستش استفاده كنم (از مقداري كه كاربر تو اون تكست باكس وارد ميكنه در حين اجراي برنامه)
خوب من این کار رو می کنم.
یه کلاس تعریف کن به صورت static و داخلش یه متغیر sttic تعریف کن.
public static class ali
{
public static string a = "";
}
بعد توی فرم اول هرجا که خواستی اطلاعات تکست باکس رو بریز داخل اون متغیر:
ali.a = TextBox1.text;
بعد توی فرم 2 هرجا که خواستی اون اطلاعات رو فراخوانی کن:
TextBox12222.text = ali.a;
1 بار که بریزی توش دیگه تا وقتی که کل برنامه بسته نشده اون اطلاعات داخل متغیر داخل کلاس ذخیره می مونه پس اگه جایی نیازی نداری ازش استفاده کنی مثلاً وقتی داری فرم دومی رو می بندی اطلاعات داخلش رو پاک کن.

anaram1991
یک شنبه 09 شهریور 1393, 19:24 عصر
اون كلاس رو فرق نميكنه كجا تعريف كنم ؟؟؟؟؟؟؟؟؟

forodo
یک شنبه 09 شهریور 1393, 19:38 عصر
بفرمائید:
این برنامه رو نگاه کنید

sohil_ww
یک شنبه 09 شهریور 1393, 21:44 عصر
با سلام خدمت دوستان عزيز

برنامه اي كه نوشتم از sql براي برقراري ارتباط استفاده ميكنه .
برنامه با زبان C#‎ و فريم ورك 3.5

زماني كه برنامه در حال اجراس و من عبارتي رو براي جستجو تايپ كردم (توي تكست باكس txtSearch) و دكمه جستجو رو كليك كردم خطاي زير رو ميده
NullReferenceExcetion was unhandled
Object reference not set to an instance of an object.
و از تيكه كد زير ايراد ميگيره
string txt = (Application.OpenForms["frmSearch"].Controls["txtSearch"] as TextBox).Text;
كسي ميدونه مشكلش چيه ؟؟؟؟
لطفا راهنماييم كنين!!!!
واقعا لازم دارم

به احتمال زیاد کنترلی که داری اشاره می کنی تو لیست کنترل های فرمت نیست (ببین کنترلت تو کانتینر دیگه ای هست یا نه ) یه دیباگ کن ببین متوجه می شی از چه

anaram1991
دوشنبه 10 شهریور 1393, 15:55 عصر
بفرمائید:
این برنامه رو نگاه کنید

دستت درد نكنه forodo جان مشكلش حل شد
ديگه اررور نميده