تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة فى كود الطباعة المباشرة
#4
هذا الكود استاذي واخي انس هذا الكود يطبع طوليا كيف يتم الطباعة عرض

اين يحتاج التعديل في المثال السابق بارك الله فيك


وشكرا

PHP كود :
   Private Sub PrintDocument1_PrintPage(ByVal sender As System.ObjectByVal e As System.Drawing.Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
        Dim rect 
As New Rectangle(2020CInt(PrintDocument1.DefaultPageSettings.PrintableArea.Width), Label1.Height)
 
       Dim sf As New StringFormat
        sf
.Alignment StringAlignment.Center
        sf
.LineAlignment StringAlignment.Center

        e
.Graphics.DrawString(Label1.TextLabel1.FontBrushes.Blackrectsf)

 
       sf.Alignment StringAlignment.Near

        Dim startX 
As Integer 50
        Dim startY 
As Integer rect.Bottom

        Static startPage 
As Integer 0

        For p 
As Integer startPage To pages.Count 1
            Dim cell 
As New Rectangle(startXstartYDataGridView1.RowHeadersWidthDataGridView1.ColumnHeadersHeight)
 
           e.Graphics.FillRectangle(New SolidBrush(SystemColors.ControlLight), cell)
 
           e.Graphics.DrawRectangle(Pens.Blackcell)

 
           startY += DataGridView1.ColumnHeadersHeight

            For r 
As Integer pages(p).startRow To pages(p).startRow pages(p).rows 1
                cell 
= New Rectangle(startXstartYDataGridView1.RowHeadersWidthDataGridView1.Rows(r).Height)
 
               e.Graphics.FillRectangle(New SolidBrush(SystemColors.ControlLight), cell)
 
               e.Graphics.DrawRectangle(Pens.Blackcell)
 
               e.Graphics.DrawString(If(DataGridView1.Rows(r).HeaderCell.ValueString.Empty), DataGridView1.FontBrushes.Blackcellsf)
 
               startY += DataGridView1.Rows(r).Height
            Next

            startX 
+= cell.Width
            startY 
rect.Bottom

            For c 
As Integer pages(p).startCol To pages(p).startCol pages(p).columns 1
                cell 
= New Rectangle(startXstartYDataGridView1.Columns(c).WidthDataGridView1.ColumnHeadersHeight)
 
               e.Graphics.FillRectangle(New SolidBrush(SystemColors.ControlLight), cell)
 
               e.Graphics.DrawRectangle(Pens.Blackcell)
 
               e.Graphics.DrawString(DataGridView1.Columns(c).HeaderCell.Value.ToStringDataGridView1.FontBrushes.Blackcellsf)
 
               startX += DataGridView1.Columns(c).Width
            Next

            startY 
rect.Bottom DataGridView1.ColumnHeadersHeight

            For r 
As Integer pages(p).startRow To pages(p).startRow pages(p).rows 1
                startX 
50 DataGridView1.RowHeadersWidth
                For c 
As Integer pages(p).startCol To pages(p).startCol pages(p).columns 1
                    cell 
= New Rectangle(startXstartYDataGridView1.Columns(c).WidthDataGridView1.Rows(r).Height)
 
                   e.Graphics.DrawRectangle(Pens.Blackcell)
 
                   e.Graphics.DrawString(DataGridView1(cr).Value.ToStringDataGridView1.FontBrushes.Blackcellsf)
 
                   startX += DataGridView1.Columns(c).Width
                Next
                startY 
+= DataGridView1.Rows(r).Height
            Next

            If p 
<> pages.Count 1 Then
                startPage 
1
                e
.HasMorePages True
                Return
            Else
                startPage 
0
            End 
If

 
       Next

    End Sub 
زر الطباعة
PHP كود :
   Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim ppd 
As New PrintPreviewDialog
        ppd
.Document PrintDocument1
        ppd
.WindowState FormWindowState.Maximized
        ppd
.ShowDialog()


 
 
   End Sub 

ظهور خطأ ارجو تعديل الخطا كما في الصورة


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو


الردود في هذا الموضوع
RE: مشكلة فى كود الطباعة المباشرة - بواسطة عمور2016 - 15-10-20, 12:52 AM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم