PDA

View Full Version : آموزش: دسترسی به اشیای یک فرم از فرمهای دیگر



sobijoon
پنج شنبه 06 اسفند 1388, 01:36 صبح
با سلام خدمت علما
چندی پیش یه سئوال داشتم در مورد کار با toolstripمنوها در خارج از آن منو!
چون خودم برای حل مشکل وقت زیادی گذاشتم خواستم که شما دیگه به این مشکل بر نخورید.:قلب:
مراحل کار
1. باید یک فیلد در DB با DataTypeاز نوعBoolایجاد کنید.(چراکه در C#‎برخلافVBمتغییر سراسری معنا نداره)،و به آن مقدار دهید.(مقدار1)
2. زمانی که میخواهید مثلا از طریق ی Buttom دریک FORM ب هر یک از اجزای FORMدیگ دسترسی داشته باشید (روی آن دبل کلیک)


3. SqlConnection objConnection = new SqlConnection(اتصال به پایگاه.conection);
4. SqlCommand objCommand = new SqlCommand();
5. objCommand.Connection = objConnection;
6. objCommand.CommandText ="update S_D set stop=0";
7.
8. objConnection.Open();
9. objCommand.ExecuteNonQuery();
10. objCommand.CommandText = "update S_D set stop=0";
11. objCommand.ExecuteNonQuery();
12. objConnection.Close();
3. حالا در قسمت FormLoad همان Formی که میخواهید بروید وهر کدام از اجزای آنرا که میخواهید تغییر دهید:
private void Form1_Load(object sender, EventArgs e)
{ conn.ConnectionString = اتصال به پایگاه.conection;
SqlCommand com = new SqlCommand("select * from S_D where stop=1", conn);
conn.Open();
rd = com.ExecuteReader();
if (!rd.Read())
{
// Ekhtiari ویرایشToolStripMenuItem2.Enabled = false;
SqlConnection objCon = new SqlConnection(اتصال به پایگاه.conection);
SqlCommand objComm = new SqlCommand();
objComm.Connection = objCon;
objComm.CommandText = "update S_D set stop=1";
objCon.Open();
objComm.ExecuteNonQuery();
objCon.Close();
}}
البته اگ در قسمت form loudجواب نگرفتید میتونی اینکار رو در رویداداToolStripMenuItem_Clickانجام بدی تا قبل از باز شدن زیر منو زیر منو ی مورد نضر غیر فعال شود.

razavi_university
پنج شنبه 06 اسفند 1388, 11:03 صبح
روشی که نوشتید لقمه دور سر چرخوندنه
1000 بار اساتید عزیزی مثل آقای کیانی، آژرنگ و ... در مورد روش درست انتقال داده بین قسمتهای مختلف پروژه و دسترسی به اشیای انها آموزش دادند و بحث کرده اند.

بهتر بود ابتدا جستجو میکردید

M.YasPro
پنج شنبه 06 اسفند 1388, 11:12 صبح
سلام
قانون شماره 15
لطفاً در هنگام جواب دادن به سوالات، از به کار بردن الفاظ و عباراتی که باعث دلسردی کاربر سوال کننده می گردد خودداری نمایید. به خاطر داشته باشید که این سایت محل یادگیری است.

با احترام به دوستان واساتید . به نظر من نباید اینجوری برخورد کرد

AliRezaPro
پنج شنبه 06 اسفند 1388, 11:31 صبح
سلام
قانون شماره 15
لطفاً در هنگام جواب دادن به سوالات، از به کار بردن الفاظ و عباراتی که باعث دلسردی کاربر سوال کننده می گردد خودداری نمایید. به خاطر داشته باشید که این سایت محل یادگیری است.

با احترام به دوستان واساتید . به نظر من نباید اینجوری برخورد کرد حرف جناب رضوی درست بود.نه از الفاظ و عباراتی استفاده کردند که باعث دلسردی بشه و نه دلسرد کرد.اتفاقا ایشون گوش زد کردند که مشکل ایشون 1000 بار بحث شده و با یک جستجوی کوچک قابل دسترس است.
و اما شما کاربر گرامی :
هنگام گذاشتن کد باید آنها را در تگ کد قرار داد.و برای دسترسی به مقادیر اشیاء کافی است عنوان تاپیک را فقط مورد لطف جستجو قرار دهید.

M.YasPro
پنج شنبه 06 اسفند 1388, 11:55 صبح
حتما من اشتباه متوجه شدم . معذرت می خوام

sobijoon
جمعه 07 اسفند 1388, 02:59 صبح
با سلام
خودمم میدونم لقمه دور.....
ولی این راهی بود که ب ذهنم رسید
در ضمن man7tomaniمن قبلش جستجو کردم ولی راهی که کمکم کنه ندیدم
اگ شما لینک یا چیزی که لقمه رو مستقیم..... ممنون میشم:لبخندساده:

AliRezaPro
جمعه 07 اسفند 1388, 08:56 صبح
شما چطور این حرف رو میزنی؟آرژنگ عزیز بالای چند صد بار در همین تالار مفاهیم شی گرایی را گوش زد کردند و با یک جستجوی کوچک میتوانید به این مطالب برسید.
برای حل شدن مشکل شما اینجا رو ببینید

http://barnamenevis.org/forum/showthread.php?t=180582&highlight=%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C+%D8 %A7%D8%B4%DB%8C%D8%A7

sobijoon
شنبه 08 اسفند 1388, 21:50 عصر
مرسی
ای کاش که همیشه اینقدر زود ب داد آدم برسید:لبخندساده:

multiman
یک شنبه 16 اسفند 1388, 03:22 صبح
البته میشد با قرار دادن یک متغیر از نوع استاتیک و گذاشتن این متغیر در یک کلاس جداگانه این مشکل را حل کرد. در هر فرم، این کلاس فراخوانی بشه وبه همه اشیا داده در فرم دیگر با توجه به مقدار متغیر، دسترسی داشته باشیم