PDA

View Full Version : سوال: جلوگیری از اجرای یک تابع همزمان با یک تابع دیگه



lllshahablll
پنج شنبه 08 تیر 1391, 03:29 صبح
من توی فرم اصلیم یک دیتا گرید دارم که برای رویداد SelectionChanged اون کد نوشتم
درحات عادی این کد به درستس کار خودشو انجام میده
مشکل جایی پیش میاد که من توی فرم دومی که به همون دیتاست وصل هست به جدول یک رکورد اضافه میکنم.
به خاطر دستور Fill که توی دکمه "ثبت" گذاشتم دیتا گرید فرم اصلی همون لحظه آپدیت میشه
و با این اتفاق رویداد SelectionChanged هم اجرا میشه و باعث بروز خطای Syntax error: Missing operand after '=' operator. میشه.

چه راه حلی پیشنهاد میکنین دوستان؟

ROSTAM2
پنج شنبه 08 تیر 1391, 03:39 صبح
سلام ، سحر بخيــــــــــــر

هر ايونت (Event) درون خودش يك پارامتر داره به نام Sender يعني شئي كه اون Event رو صدا مي زنه
از اين طريق مي شه فهميد كدوم شئ Event رو صدا زده

مثال: (قبل از دستورات اجرائي بايد نوشته شه )


If Not Sender.Name = DataGridView1.Name Then Exit Sub

lllshahablll
پنج شنبه 08 تیر 1391, 09:47 صبح
سلام ، سحر بخيــــــــــــر

هر ايونت (Event) درون خودش يك پارامتر داره به نام Sender يعني شئي كه اون Event رو صدا مي زنه
از اين طريق مي شه فهميد كدوم شئ Event رو صدا زده

مثال: (قبل از دستورات اجرائي بايد نوشته شه )


If Not Sender.Name = DataGridView1.Name Then Exit Sub


ROSTAM جان فکر میکنم sender ها تو برنامه من در هر دو حالت یکسان باشن.


مراحل اجرای دستور ها به نظر من اینجوریه:
وقتی من دکمه ثبت رو کلیک میکنم اول رکورد به دیتاست اضافه میشه
بعد دیتا گریدویو فرم اصلی دوباره Fill میشه و به همین خاطر ردیف انتخابی توش تغییر میکنه
حالا به خاطر تغییر ردیف انتخاب شده رویداد Selectionchanged فراخونده میشه.


Private Sub TBcontactDataGridView_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TBcontactDataGridView.SelectionChanged

Me.TBcontentBindingSource.Filter = "IDcont =" & lblID.Text

End Sub

lanser
پنج شنبه 08 تیر 1391, 09:52 صبح
سلام دوستان من یه برنامه با vb نوشتم که در یک ردیف چند کادر دارم و در ان کادرها اعدادی را میزنم و پرینت میگیرم اما وقتی طول این اعداد زیاد میشود جای پرینت انها هم عوض میشود و از کادر مورد نظر بیرون میزند حالا کسی میدونه من باید چیکار کنم ضمن اینکه میخوام از اطلاعاتی رو که میزنم در کادرها با زدن یک دکمه ثبت و پرینت شود و در اخر گزارش گیری کنم از انها گزارشگیریو اصلا بلد نیستم ممنون میشم اگر کسی بتونه کمکم کنه با نهایت تشکر.