آژانس هواپیماییexchanging

آموزش پرینت گرفتن از فرم در C#

شروع موضوع توسط mohammad_1ta ‏11 جولای 2010 در انجمن Visual C#.Net

  1. mohammad_1ta

    mohammad_1ta Registered User

    تاریخ عضویت:
    ‏4 سپتامبر 2004
    نوشته ها:
    309
    تشکر شده:
    5
    محل سکونت:
    تهران
    سلام دوستان عزیز،
    بوسیله این آموزش، میتوانید با زدن دکمه، از فرمتون عین همونی که میبینین رو پرینت بگیرین.

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

    [​IMG]


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

    [​IMG]



    کد:
    [System.Runtime.InteropServices.DllImport("gdi32.dll")]
    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 رو بکشین و بیارین تو برنامه خودتون:

    [​IMG]


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

    [​IMG]


    [​IMG]

    کد:
    e.Graphics.DrawImage(memoryImage, 0, 0);
    5- حال برای پرینت گرفتن از فرم، نیاز به دکمه ای دارین که با کلیک روی آن، پرینت آغاز بشه...
    برای اینکار روی یکی از Button هاتون 2 بار کلیک کنید و کدهای زیر رو برای آن قرار بدید:

    [​IMG]


    کد:
    CaptureScreen();
    printDocument1.Print();

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

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

    موفق باشید.
     
  2. kkr129

    kkr129 Registered User

    تاریخ عضویت:
    ‏19 دسامبر 2008
    نوشته ها:
    306
    تشکر شده:
    10
    محل سکونت:
    شیــــــــــــــــراز
    آقا محمد عزیز کارت درست ممنون