PDA

View Full Version : حرفه ای: مشکل doubleclick کردن روی دکمه گزارش



kamiloted
پنج شنبه 15 مهر 1395, 11:24 صبح
سلام دوستان.
دوستان من روی فرمم یک دکمه گذاشتم به نام گزارش.
وقتی که کاربر بر روی این دکمه یک کلیک چپ میکنه گزارش بدون هیچ مشکلی باز میشه.
اما وقتی که مشتری روی دکمه دابل کلیک میکنه

با خطای زیر مواجه میشه.
object Referenc not Set to an instance of an object.
دوستان مشکل از چیست؟
ممنون میشم راهنمایی کنید.

ژیار رحیمی
پنج شنبه 15 مهر 1395, 17:55 عصر
خب مشکل دو بار فراخوانی پشت سر هم داری (دابل کلیک).احتمالا یکی از object های درون کد شما در دو بار پشت سر هم اجرا شدن دچار تداخل شده و نمونه سازی از Object انجام نمی شود.
دابل کلیک رو محدود کن که کاربر دابل کلیک کرد فقط یک بار کدهای فراخوانی گزارش انجام شود.یا کد ها تو بزار تا مشکل بررسی شود.

kamiloted
پنج شنبه 15 مهر 1395, 22:02 عصر
خب مشکل دو بار فراخوانی پشت سر هم داری (دابل کلیک).احتمالا یکی از object های درون کد شما در دو بار پشت سر هم اجرا شدن دچار تداخل شده و نمونه سازی از Object انجام نمی شود.
دابل کلیک رو محدود کن که کاربر دابل کلیک کرد فقط یک بار کدهای فراخوانی گزارش انجام شود.یا کد ها تو بزار تا مشکل بررسی شود.

ممنون.چگونه دابل کلیک رو محدود کنم مرسی

mrprestige
پنج شنبه 15 مهر 1395, 22:25 عصر
سلام دوست من وقتت بخیر ، شما که میخوای با دابل کلیک عملیات مورد نظرت انجام بشه چرا کدهاتون رو توی رویداد DoubleClick مربوط به دکمه گزارش تون نمینویسید ؟!

kamiloted
جمعه 16 مهر 1395, 00:48 صبح
سلام دوست من وقتت بخیر ، شما که میخوای با دابل کلیک عملیات مورد نظرت انجام بشه چرا کدهاتون رو توی رویداد DoubleClick مربوط به دکمه گزارش تون نمینویسید ؟!

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

ronix3
جمعه 16 مهر 1395, 09:22 صبح
یه متغییر بیرون از رویداد کلیک باتن بسازید

bool check=true;

و بعد کد هایی ک تو رویداد کلیک نوشتید رو به صورت زیر تغییر بدید

if(check)
{
check=false;
//کد هایی که قبلا تو رویداد بود
check=true;
}

با این کار وقتی یک بار باتن کلیک می شه تا اتمام همه ی دستوراتی که تو رویداد بود هر چقدر باتن کلیک بشه اتفاقی نمی افته
امیدوارم به کارتون بیاد

mrprestige
جمعه 16 مهر 1395, 11:28 صبح
مجددا سلام دوست من ، سوالی که برای خودمم پیش اومده اینه شما وقتی عملیاتت رو توی رویداد Click نوشتی دیگه کاربر هم دابل کلیک کنه باز فقط یکبار عملیات انجام میشه کاش یکم توی این مورد بیشتر توضیح میدادی یا کد هات رو میزاشتی . با فرض اینکه باز این مشکل وجود داره شما میتونی تا زمانی که عملیات مورد نظرت به پایان نرسیده Enable دکمه ی گزارش رو false قرار بدید یا اینکه میتونید اگه گزارشتون داخل یک پنجره load میشه اونو showdialog کنید .

ژیار رحیمی
جمعه 16 مهر 1395, 12:58 عصر
را ساده تر غیر فعال و فعال کردن دکمه نمایش گزارش هست

private void btnShowReport_Click(object sender, EventArgs e)
{
btnShowReport.Enable=false;
//کد هایی که قبلا تو رویداد بود
btnShowReport.Enable=true;
}