نمایش نتایج 1 تا 11 از 11

نام تاپیک: پرینت از فرم در C#‎

  1. #1
    کاربر جدید آواتار Mohammad_1ta
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    سن
    33
    پست
    21

    Smile پرینت از فرم در C#‎

    سلام دوستان عزیز،
    بوسیله این آموزش، میتوانید با زدن دکمه، از فرمتون عین همونی که میبینین رو پرینت بگیرین.

    1- فرمتون رو طراحی کنین:



    2- به قسمت کد نویسی برنامه برین و کدهای زیر رو در برنامه قرار بدید (همانند عکس زیر):




    [System.Runtime.InteropServices.DllImport("gdi32.dl  l")]
    public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
    private Bitmap memoryImage;
    private void CaptureScreen()
    {
    Graphics mygraphics = this.CreateGraphics();
    Size s = this.Size;
    memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
    Graphics memoryGraphics = Graphics.FromImage(memoryImage);
    IntPtr dc1 = mygraphics.GetHdc();
    IntPtr dc2 = memoryGraphics.GetHdc();
    BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);
    mygraphics.ReleaseHdc(dc1);
    memoryGraphics.ReleaseHdc(dc2);
    }



    3- به طراحی فرمتون باز گردین و از Toolbox بقل برنامه، PrintDocument رو بکشین و بیارین تو برنامه خودتون:



    4- روی PrintDocument1 که زیر فرمتون اومده، 2 بار کلیک کنید و برنامه ی مربوط به آن (که کدش پایین هست) رو قرار بدید:





    e.Graphics.DrawImage(memoryImage, 0, 0);


    5- حال برای پرینت گرفتن از فرم، نیاز به دکمه ای دارین که با کلیک روی آن، پرینت آغاز بشه...
    برای اینکار روی یکی از Button هاتون 2 بار کلیک کنید و کدهای زیر رو برای آن قرار بدید:



    CaptureScreen();
    printDocument1.Print();



    6- پایان؛ به همین راحتی میتونین از فرمتون پرینت بگیرین.

    منبع: محمد یکتا

    موفق باشید.

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    مشهد مقدس
    پست
    68

    Red face نقل قول: پرینت از فرم در C#‎‎

    سلام دوست عزيز...
    ممنون از تاپيكي كه براي پرينت گرفتن از فرم گذاشتي...
    خيلي جالب بود..ولي اگه ميشد كيفيت پرينت رو يه خورده بيشتر كرد بهتر بود...
    آيا راهي هست...
    كسي ميتونه بگه چه جوري؟

  3. #3

    نقل قول: پرینت از فرم در C#‎

    سلام.
    ممنون بابت مطلبتون.
    من ازش استفاده كردم ولي فرممو برعكس(آينه‌اي) چاپ كرد. از طرف ديگه فقط اون قسمت از فرم كه ديده ميشد رو چاپ كرد و قسمت پايينشو كه اسكرول ميشد چاپ نكرد. راهي واسه اصلاحش هست؟

  4. #4

    نقل قول: پرینت از فرم در C#‎

    سلام ممنون از کدتون فقط عکسهارو نمی تونم بیبنم هر کاری کردم نشد اگه ممکنه بگین اولین کد رو کجای فرم باید کپی کنم ممنون می شم اگه به ایمیلم بفرستین
    mojtaba.mesgar@yahoo.com
    mesgar.hirad@yahoo.com

  5. #5
    کاربر جدید آواتار MaSoUti
    تاریخ عضویت
    آذر 1389
    محل زندگی
    BUSHEHR
    پست
    11

    نقل قول: پرینت از فرم در C#‎

    سلام با تشکر از مطلب خوبتون

    میشه این تیکه کدی که گذاشتین رو توضیح بدین که هر خط چه کاری انجام میده ؟

  6. #6
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: پرینت از فرم در C#‎

    کیفیت فرم پایینه . کد دیگه ای کسی بلد نیست ؟
    یک سوال دیگه ! این فرم رو افقی پرینت میگیره . اگه من عمودی بودن فرم ام بیشتر از ارتفاعش باشه و بخوام روی برگه به صورت عمودی چاپ بشه باید چیکار کنم ؟؟؟

  7. #7

    نقل قول: پرینت از فرم در C#‎

    سلام
    بابت کد ممنون

    حالا اگه بخام تو فرمم چند تا لیبل داشته باشم که کاربر بتونه جای اونارو خودش تغییر بده باید چیکار کنم ؟؟؟

  8. #8

    نقل قول: پرینت از فرم در C#‎

    دوست عزیز عکسها نمایش داده نمیشه

  9. #9

    نقل قول: پرینت از فرم در C#‎

    بسیار سپاسگذارم از این توضیحات

  10. #10

    نقل قول: پرینت از فرم در C#‎

    نقل قول نوشته شده توسط mehdiizadi مشاهده تاپیک
    کیفیت فرم پایینه . کد دیگه ای کسی بلد نیست ؟
    بفرمایید. من همیشه با این کد پرینت میگیرم
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    // print form
    Bitmap bm = new Bitmap(Width, Height);
    this.DrawToBitmap(bm, new Rectangle(0, 0, this.Width, this.Height));
    e.Graphics.DrawImage(bm, 20, 20);
    }

    private void button1_Click(object sender, EventArgs e)
    {
    printPreviewDialog1.Document = printDocument1;
    printPreviewDialog1.ShowDialog();
    }

  11. #11

    نقل قول: پرینت از فرم در C#‎

    دوستان،برای من دوتا خطا داد.
    میشه بگید که این خطا ها مربوط به چی هست؟
    errp.png
    errp2.png
    ممنون.

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •