PDA

View Full Version : تعیین گزینه انتخاب شده (ok , cancel) در پنجره چاپ اطلاعات



mohsen1900
جمعه 16 دی 1390, 16:02 عصر
من از کد زیر برای تعیین گزینه انتخاب شده در کادر چاپ اطلاعات استفاده می کنم


DialogResult Printresult = new DialogResult();
string PrintStatus;
PrintStatus = Printresult.ToString();

ولی چه ok رو انتخاب کنم چه cancel مقدار Printresult همش None هستش
مشکل از کجا می تونه باشه؟

Sirwan Afifi
جمعه 16 دی 1390, 17:01 عصر
خوب معلومه وقتی شیء Printresult رو new می کند همین اتفاق میفته. باید مقدار بازگشتی پیغامت رو داخلش قرار بدی.
بهتره از کد زیر استفاده کنی.


DialogResult ds = MessageBox.Show("آیا مایلید از برنامه خارج شوید؟", "خروج", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
switch (ds)
{

case DialogResult.Yes:
Application.Exit();
break;
}

mohsen1900
جمعه 16 دی 1390, 17:17 عصر
دوست عزیز خوب متوجه نشدم این Page مربوط به چاپ 80256
چجوری میشه فهمید که ok رو میزه یا cancel
ضمناً برای چاپ از این کد استفاده می کنم
CrvReport.PrintReport();

mohsen1900
جمعه 16 دی 1390, 21:13 عصر
بچه ها راهی نداره

Sirwan Afifi
جمعه 16 دی 1390, 21:49 عصر
PrintDialog pd = new PrintDialog();
DialogResult d= pd.ShowDialog();
if (d == System.Windows.Forms.DialogResult.OK)
MessageBox.Show("OK");
else
MessageBox.Show("Cancel");

mohsen1900
جمعه 16 دی 1390, 22:19 عصر
حالا یه سوال دیگه زمانی که از CrvReport.PrintReport استفاده می کنیم در صورتی که چاپگر هم نداشته باشیم Microsoft Office Document Image Writer جهت ذخیره نمایش داده میشه ولی تو کد شما این حالت وجود نداره یعنی در صورتی که چاپگر هم نداشته باشیم Microsoft Office Document Image Writer جهت ذخیره نمایش داده نمیشه
حالا می خواستم ببینم تو کد شما اگه پرینتر وجود داشته باشه چاپ انجام می شه

Sirwan Afifi
جمعه 16 دی 1390, 22:32 عصر
خوب دوست عزیز شما به جای پیغام باید فرمان چاپ رو صادر کنید
به اینجا (http://www.c-sharpcorner.com/uploadfile/mahesh/printdialog-in-C-Sharp/)سر بزن مشکلت حل میشه.

mohsen1900
جمعه 16 دی 1390, 23:53 عصر
سایتی که گفتین کدش این بود
PrintDialog printDlg = new PrintDialog();

PrintDocument printDoc = new PrintDocument();
printDoc.DocumentName = "Print Document";
printDlg.Document = printDoc;
printDlg.AllowSelection = true;
printDlg.AllowSomePages = true;
//Call ShowDialog
if (printDlg.ShowDialog() == DialogResult.OK) printDoc.Print();
مشکلم اینه چجوری گزارش تو ctrystal رو به printDoc ارتباطش بدم

Sirwan Afifi
شنبه 17 دی 1390, 08:29 صبح
دوست عزیز شما وقتی گزارشتون رو با CrystalReportView نشون می دید دیگه نیازی نیست به صورت دستی خودتون عملیات چاپ رو صادر کنید.CrystalReportView خودش این قابلیت رو داره و اصلا نیازی به کدنویسی شما نیست.
موفق باشید.

mohsen1900
شنبه 17 دی 1390, 09:16 صبح
آخه من می خوام وقتی کاربر دکمه چاپ رو زد اطلاعات در crtystal report viewer نمایش داده بشه و اتومات چاپ شه
نمی خوام کاربر تو crtystal report viewer دکمه چاپ رو بزنه مشکلم اینه

Mahmoud Zaad
شنبه 17 دی 1390, 09:41 صبح
آخه من می خوام وقتی کاربر دکمه چاپ رو زد اطلاعات در crtystal report viewer نمایش داده بشه و اتومات چاپ شه
نمی خوام کاربر تو crtystal report viewer دکمه چاپ رو بزنه مشکلم اینه
mycrys.PrintToPrinter(1, false, 1, 100);
mycrys اسم نمونه ای هست که از گزارش ساختی