PDA

View Full Version : چطوری میتونم از ctrl +p برای بدست اوردن پرینتر استفاده کنم در کریستال ریپورت



RIG000
دوشنبه 22 فروردین 1390, 16:40 عصر
بچه ببینید من میخام وقتی واسه گزارشگیری رفتم ctrl+p رو زدم فرم پرینترم بیاد و من بتونم برنامه perpperties استفاده کنم . راستش همونی که واسه ورد و .... میاد و میخای پرینت بگیری . میخام همون امکانتشو داشته باشه . مثلا printpereview و نوع کاغد به صورت a4 یا a5 و....
ممنون:متفکر::لبخندساده:

RIG000
دوشنبه 22 فروردین 1390, 17:44 عصر
بچه ها میشه اینو جواب بدین . اگه کدی میزارین بگید لطفا تو چه رویدادی بنویسم . فکر کنم از کد اسکی باید بخونم اما بلد نیستم بنویسمش

RIG000
دوشنبه 22 فروردین 1390, 19:48 عصر
کسی نبود کمک کنه ؟

sajjadrad
دوشنبه 22 فروردین 1390, 21:15 عصر
از toolbar اشیا printdialog و printpereview رو به فرم اضافه کن...بعد در رویداد cntl+p پرینت پرویو رو showdialog کن.
یه شرط هم بذار واسه برگشت

if(printpereview1.showdialog()==dialogresult.ok)
{
تنظیمات
printdialog1.showdialog();
if(printdialog1.showdialog()==dialogresult.ok
{
تنظیمات
ارسال ریپورت به پرینتر
}
}

این تنظیمات همون تنظیماتیه که تو پنجره ها انجام میشه...مثلا وقتی printdialog اوکی شد میتونی نام پرینتر رو بگیری
printdialog1.printername

ببخشید تو این سیستمم ویژوال نداشتم که کدها رو دقیق بنویسم

موفق باشی

RIG000
دوشنبه 22 فروردین 1390, 23:53 عصر
من راستش میدونم چی میگید اما نمیتونم کد اینجور یزها رو بنویسم . میشه ادرسی سایتی با نمونه کاری بدین . در ضمن فکرکنین اینکار انجام شد و فرم peopertisprint تومد اگه پرینت رو بزنم کریستال ریپورت رو پرینت میگیره؟

sarbaz_esf
سه شنبه 23 فروردین 1390, 00:11 صبح
دوست عزیز کریستال ریپوت سی شارپ که خوش پرینت دارد پس واسه چی میخواهی پرینتر تعریف کنی؟

RIG000
سه شنبه 23 فروردین 1390, 00:27 صبح
اخه جایی که میخام تحول برناممو میگه میخام ctrl+p رو زدم اون page peropertisesh بیاد همونی که واسه ورد میاد که اگه مثلا بخام بتونم later با a4 یا a5 و سایر تنظیمات رو داشته باشه مثل همون page peropertise وردو و پاور پوینت و ... درشمن حتما ctrl+p رو هم میخاد . نمیدونم این اصلا" موضوع چیه وقرار چه جوری انجام بشه. اگه میشه کمک کنید. ممنون

BehinAfzar
سه شنبه 23 فروردین 1390, 08:02 صبح
سلام دوست عزیز
توی اون فرمی که CrystalReportViewer رو داری و گزارش رو نشون میدی در رویداد KeyPress کلید های Ctrl+P رو بخون هر وقت این کلید ها زده شد کد زیر رو اجرا کن

crystalReportViewer1.PrintReport();

موفق باشید

RIG000
سه شنبه 23 فروردین 1390, 18:16 عصر
سلام دوست عزیز
توی اون فرمی که CrystalReportViewer رو داری و گزارش رو نشون میدی در رویداد KeyPress کلید های Ctrl+P رو بخون هر وقت این کلید ها زده شد کد زیر رو اجرا کن

crystalReportViewer1.PrintReport();

موفق باشید
دقیقا" منم همچین چیزی میخام . خیلی ازت ممنونم . خیلی اما گرقتن ctrl+p چه شکلی هستش؟
الان منظورتون اینکه تو crestalreportViewr بگردم رویداد KyPress رو پیدا کنم و حالا ctrl+p رو بگیرم و اسه اینکار . بعدش کد بالا که شما نوشتین رو کجا بنویسم .
از دوستان کسی هست کمک کنه که چطوری ctrl+p رو دریافت کنم ؟

BehinAfzar
سه شنبه 23 فروردین 1390, 20:01 عصر
سلام
ابتدا خصوصیت KeyPreview فرم رو True میکنی بعد داخل خصوصیت KeyDown کد زیر رو مینویسی

privatevoid Main_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control==true && e.KeyValue == 80)
{
crystalReportViewer1.PrintReport();
}
}

موفق باشی

sarbaz_esf
سه شنبه 23 فروردین 1390, 20:05 عصر
دوست عزیز از کد زیر استفاده کن
از این می توانی استفاده کنی

private void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.Control && e.KeyCode ==Keys.P)
{
CrystalReport1 CR = new CrystalReport1();
//DASTOR PRINT CrystalReport1

CR.PrintToPrinter(1,true ,1,1);

}


}

از این کد هم همینطور

private void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.Control && e.KeyCode ==Keys.P)
{
crystalReportViewer1.PrintReport();

}


}

موفق باشی

RIG000
سه شنبه 23 فروردین 1390, 20:29 عصر
من دقیقا کد پایینی رو میخاستم .ممنون . اما تو رویداد keydown جواب نمیده یعنی ctrl+p رو میزنم عملی رو نشون نمیده !!!!!!!!!!!!1

sarbaz_esf
سه شنبه 23 فروردین 1390, 20:47 عصر
توی این رویداد بنویس
PreviewKeyDown

RIG000
سه شنبه 23 فروردین 1390, 20:51 عصر
private void frmCristalErsaliDakheli_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.Control && e.KeyCode == Keys.P)
{
crystalReportViewer1.PrintReport();
}
}
جواب نمیده !!! چرا؟

RIG000
سه شنبه 23 فروردین 1390, 21:00 عصر
من چه کنم حالا؟

sarbaz_esf
سه شنبه 23 فروردین 1390, 21:14 عصر
باید در رویدادPreviewKeyDown مربوط بهcrystalReportViewer1 می نوشتی

privatevoid crystalReportViewer1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.Control && e.KeyCode == Keys.P)
{
crystalReportViewer1.PrintReport();
}
}

RIG000
سه شنبه 23 فروردین 1390, 21:21 عصر
راستش اونجا هم اجرا کرده بودم نشد. از alt استفاده کردم نشد . از سایر events ها استفاده کردم نشد .:ناراحت::اشتباه:

sarbaz_esf
سه شنبه 23 فروردین 1390, 21:29 عصر
اگه دوست داری برنامه ات را بگذار تا یک نگاه بهش بندازم

RIG000
سه شنبه 23 فروردین 1390, 21:57 عصر
راستش برنامم واسه جاییه که کامل شده . فقط مشتری گفته از sql استفاده کن و این موضوع ctrl+p و ارسال عکس . این ارسال عکس باعث شد من از بانک اس کیو ال استفاده کنم . حالا طرف ctrl + p رو هم ازم میخاد . که اجرا نمیشه . دیگه چون تاپیک قیلیمو میدونی فکر کنم کلا" بدونی الان مشکلم چیه . من از اکسس استفاده کرده بودم که حالا تو اس کیو ال گیر شدم . فکر کنم بدونی موضوع چی به چیه . ممنون میشم کمکم کنی.

RIG000
سه شنبه 23 فروردین 1390, 22:09 عصر
دوستان کسی نمیدونه این کد دوستمونو تو کدوم رویداد بنویسیم و جواب بگیریم . اگه یه نمونه هم میزاشتین خیلی عالی میشد.

sarbaz_esf
سه شنبه 23 فروردین 1390, 22:10 عصر
راستش برنامم واسه جاییه که کامل شده . فقط مشتری گفته از sql استفاده کن و این موضوع ctrl+p و ارسال عکس . این ارسال عکس باعث شد من از بانک اس کیو ال استفاده کنم . حالا طرف ctrl + p رو هم ازم میخاد . که اجرا نمیشه . دیگه چون تاپیک قیلیمو میدونی فکر کنم کلا" بدونی الان مشکلم چیه . من از اکسس استفاده کرده بودم که حالا تو اس کیو ال گیر شدم . فکر کنم بدونی موضوع چی به چیه . ممنون میشم کمکم کنی.



خوب فرم CRبه غیر از crystalReportViewer1شئ دیگری هم داره؟

RIG000
سه شنبه 23 فروردین 1390, 22:25 عصر
نفهمیدم منظورت با شی چیه ؟ اما اگه منظورت کنترل هاست کنترل دارم اما شی نه .

hossin.esm
سه شنبه 23 فروردین 1390, 23:46 عصر
سلام
میتونید به فرم یک MenuStrip اضافه کنید و ایتمی را به ان اضافه و خاصیت ShortCutKeys را برابر ctrl+p قرار دهید و در رویداد کلیک ان کد را قرار دهید و و خاصیت MenuStrip visible را برابر false قرار دهید تااز دید کاربر مخفی باشد.

sarbaz_esf
سه شنبه 23 فروردین 1390, 23:50 عصر
دوست عزیز این برنامه که ضمیمه کردم دوتا مشکلت را حل کرده (اتصال به بانک اس کیو ال بدون داشتن نرم افزار اس کیو ال و دیگری حل مشکل زدن ctrl+pدر فرم کریستال ریپوت امید وارم به توانی از این برنامه استفاده کنی
توجه کنید ابتدا برنامه را یک بار اجرا کرده و سپس آن را ببندید و از فایل ضمیمه bank پوشه file را در مسیر زیر کپی نماید.
bin\Debug

BehinAfzar
چهارشنبه 24 فروردین 1390, 07:25 صبح
من دقیقا کد پایینی رو میخاستم .ممنون . اما تو رویداد keydown جواب نمیده یعنی ctrl+p رو میزنم عملی رو نشون نمیده !!!!!!!!!!!!1

سلام
گفتم که خصوصیت KeyPreview فرم رو اگه True کنی درست میشه !