منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مطلوب التعديل علي الكود التالي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اولا الكود خاص بالرسم البياني اريد الاتي


1 لو كان  ارتفاع الاعمدة الخاصة بالرسم البياني متغير وليس قيم ثابتة كما بالمثال  يعني يضاف 7 تيكست ويتم تغير قيم 7 اعمدة منها

ويتم ايضا تغير المحور الافقي وفقا لقيمة معينةمن التيكست تقسم علي 10 عد د  النقط من بدا من اول المحور الي اخرة

اريد كود ربط ارتفاع 7 اعمدة  المتغير ة من   تيكست7  وفقا لما يقابل قيمتها بالمحور الراسي المتغير قيمة ايضا


2- ارجاع  قيمة المتغير في حدث الرسم الي بيكتشر الصورة حتي يتم طباعتها  لانة عند الطباعة تظهر فارغة


الكود الخاص بالرسم البياني 


PHP كود :
Private Sub PictureBox1_Paint(ByVal sender As ObjectByVal e As System.Windows.Forms.PaintEventArgsHandles PictureBox1.Paint

        Dim m_matrix 
As New Matrix(100, -10PictureBox1.ClientSize.Height)
 
       e.Graphics.Transform m_matrix

        Dim lgbBrush 
As New LinearGradientBrush(New Rectangle(00PictureBox1.ClientSize.WidthPictureBox1.ClientSize.Height), Color.SilverColor.Azure90True)

 
       e.Graphics.FillRectangle(lgbBrush, New Rectangle(00PictureBox1.ClientSize.WidthPictureBox1.ClientSize.Height))


 
       e.Graphics.DrawLine(Pens.Black503035030)
 
       e.Graphics.DrawLine(Pens.Black503050330)

 
       For x As Integer 0 To 10
            e
.Graphics.DrawLine(Pens.Green4530 + (30 x), 5030 + (30 x))
 
           e.Graphics.DrawLine(Pens.Green50 + (30 x), 2550 + (30 x), 30)
 
       Next

        Dim m_pens 
As Pen() = New Pen() {Pens.RedPens.BluePens.GreenPens.Red}
 
       Dim m_GraphicsSave As GraphicsState e.Graphics.Save()

 
       Dim m_MatrixCloned As Matrix m_matrix.Clone()

 
       m_MatrixCloned.Translate(5030)

 
       e.Graphics.Transform m_MatrixCloned

        
'-----------------------------------------------------------------------

        Dim employ1 As Integer = 300
        Dim employ1Brush As New SolidBrush(Color.FromArgb(150, Color.Red))

        Dim employ2 As Integer = 300 / 2
        Dim employ2Brush As New SolidBrush(Color.FromArgb(150, Color.Blue))

        Dim employ3 As Integer = 300 / 4
        Dim employ3Brush As New SolidBrush(Color.FromArgb(150, Color.Green))

        Dim employ4 As Integer = 200
        Dim employ4Brush As New SolidBrush(Color.FromArgb(150, Color.Yellow))

        Dim employ5 As Integer = 250
        Dim employ5Brush As New SolidBrush(Color.FromArgb(150, Color.Purple))

        Dim employ6 As Integer = 150
        Dim employ6Brush As New SolidBrush(Color.FromArgb(150, Color.Maroon))

        Dim employ7 As Integer = 275
        Dim employ7Brush As New SolidBrush(Color.FromArgb(150, Color.Khaki))


        e.Graphics.DrawRectangle(Pens.Black, 25, 0, 10, employ1)
        e.Graphics.FillRectangle(employ1Brush, New Rectangle(25, 0, 10, employ1))

        e.Graphics.DrawRectangle(Pens.Black, 55, 0, 10, employ2)
        e.Graphics.FillRectangle(employ2Brush, New Rectangle(55, 0, 10, employ2))

        e.Graphics.DrawRectangle(Pens.Black, 85, 0, 10, employ3)
        e.Graphics.FillRectangle(employ3Brush, New Rectangle(85, 0, 10, employ3))

        e.Graphics.DrawRectangle(Pens.Black, 115, 0, 10, employ4)
        e.Graphics.FillRectangle(employ4Brush, New Rectangle(115, 0, 10, employ4))

        e.Graphics.DrawRectangle(Pens.Black, 145, 0, 10, employ5)
        e.Graphics.FillRectangle(employ5Brush, New Rectangle(145, 0, 10, employ5))

        e.Graphics.DrawRectangle(Pens.Black, 175, 0, 10, employ6)
        e.Graphics.FillRectangle(employ6Brush, New Rectangle(175, 0, 10, employ6))

        e.Graphics.DrawRectangle(Pens.Black, 205, 0, 10, employ7)
        e.Graphics.FillRectangle(employ7Brush, New Rectangle(205, 0, 10, employ7))

        '
-----------------------------------------------------------------------

 
       e.Graphics.Restore(m_GraphicsSave)

 
       For i As Integer 10 To 100 Step 10

            m_GraphicsSave 
e.Graphics.Save()
 
           Dim m_MatrixOffsetY As New Matrix(100, -12530 + (10 30) + (Font.Height 2))

 
           m_MatrixCloned m_matrix.Clone()
 
           m_MatrixCloned.Multiply(m_MatrixOffsetY)

 
           e.Graphics.Transform m_MatrixCloned
            e
.Graphics.DrawString(i.ToString(), FontBrushes.Black00StringFormat.GenericTypographic)
 
           e.Graphics.Restore(m_GraphicsSave)

 
       Next

        For s 
As Integer 10 To 100 Step 10

            m_GraphicsSave 
e.Graphics.Save()
 
           Dim m_matrixOffsetX As New Matrix(100, -130 + (10 30) + (Font.Height 2), 25)
 
           m_MatrixCloned m_matrix.Clone()
 
           m_MatrixCloned.Multiply(m_matrixOffsetX)
 
           e.Graphics.Transform m_MatrixCloned

            e
.Graphics.DrawString(s.ToString(), FontBrushes.Black00StringFormat.GenericTypographic)
 
           e.Graphics.Restore(m_GraphicsSave)

 
       Next

    End Sub 
PHP كود :
Private Sub PictureBox1_Paint(ByVal sender As ObjectByVal e As System.Windows.Forms.PaintEventArgsHandles PictureBox1.Paint

    Dim m_matrix 
As New Matrix(100, -10PictureBox1.ClientSize.Height)
 
   e.Graphics.Transform m_matrix

    Dim lgbBrush 
As New LinearGradientBrush(New Rectangle(00PictureBox1.ClientSize.WidthPictureBox1.ClientSize.Height), Color.SilverColor.Azure90True)

 
   e.Graphics.FillRectangle(lgbBrush, New Rectangle(00PictureBox1.ClientSize.WidthPictureBox1.ClientSize.Height))


 
   e.Graphics.DrawLine(Pens.Black503035030)
 
   e.Graphics.DrawLine(Pens.Black503050330)

 
   For x As Integer 0 To 10
        e
.Graphics.DrawLine(Pens.Green4530 + (30 x), 5030 + (30 x))
 
       e.Graphics.DrawLine(Pens.Green50 + (30 x), 2550 + (30 x), 30)
 
   Next

    Dim m_pens 
As Pen() = New Pen() {Pens.RedPens.BluePens.GreenPens.Red}
 
   Dim m_GraphicsSave As GraphicsState e.Graphics.Save()

 
   Dim m_MatrixCloned As Matrix m_matrix.Clone()

 
   m_MatrixCloned.Translate(5030)

 
   e.Graphics.Transform m_MatrixCloned

    
'-----------------------------------------------------------------------

    Dim hhh As Integer = 300

    Dim employ1 As Integer = (Val(TextBox1.Text) / 100) * hhh

    Dim employ2 As Integer = (Val(TextBox2.Text) / 100) * hhh

    Dim employ3 As Integer = (Val(TextBox3.Text) / 100) * hhh

    Dim employ4 As Integer = (Val(TextBox4.Text) / 100) * hhh

    Dim employ5 As Integer = (Val(TextBox5.Text) / 100) * hhh

    Dim employ6 As Integer = (Val(TextBox6.Text) / 100) * hhh

    Dim employ7 As Integer = (Val(TextBox7.Text) / 100) * hhh


    Dim employ1Brush As New SolidBrush(Color.FromArgb(150, Color.Red))
    e.Graphics.DrawRectangle(Pens.Black, 25, 0, 10, employ1)
    e.Graphics.FillRectangle(employ1Brush, New Rectangle(25, 0, 10, employ1))

    Dim employ2Brush As New SolidBrush(Color.FromArgb(150, Color.Blue))
    e.Graphics.DrawRectangle(Pens.Black, 55, 0, 10, employ2)
    e.Graphics.FillRectangle(employ2Brush, New Rectangle(55, 0, 10, employ2))

    Dim employ3Brush As New SolidBrush(Color.FromArgb(150, Color.Green))
    e.Graphics.DrawRectangle(Pens.Black, 85, 0, 10, employ3)
    e.Graphics.FillRectangle(employ3Brush, New Rectangle(85, 0, 10, employ3))

    Dim employ4Brush As New SolidBrush(Color.FromArgb(150, Color.Yellow))
    e.Graphics.DrawRectangle(Pens.Black, 115, 0, 10, employ4)
    e.Graphics.FillRectangle(employ4Brush, New Rectangle(115, 0, 10, employ4))

    Dim employ5Brush As New SolidBrush(Color.FromArgb(150, Color.Purple))
    e.Graphics.DrawRectangle(Pens.Black, 145, 0, 10, employ5)
    e.Graphics.FillRectangle(employ5Brush, New Rectangle(145, 0, 10, employ5))

    Dim employ6Brush As New SolidBrush(Color.FromArgb(150, Color.Maroon))
    e.Graphics.DrawRectangle(Pens.Black, 175, 0, 10, employ6)
    e.Graphics.FillRectangle(employ6Brush, New Rectangle(175, 0, 10, employ6))

    e.Graphics.DrawRectangle(Pens.Black, 205, 0, 10, employ7)
    Dim employ7Brush As New SolidBrush(Color.FromArgb(150, Color.Khaki))
    e.Graphics.FillRectangle(employ7Brush, New Rectangle(205, 0, 10, employ7))

    '
-----------------------------------------------------------------------

 
   e.Graphics.Restore(m_GraphicsSave)

 
   For i As Integer 10 To 100 Step 10

        m_GraphicsSave 
e.Graphics.Save()
 
       Dim m_MatrixOffsetY As New Matrix(100, -12530 + (10 30) + (Font.Height 2))

 
       m_MatrixCloned m_matrix.Clone()
 
       m_MatrixCloned.Multiply(m_MatrixOffsetY)

 
       e.Graphics.Transform m_MatrixCloned
        e
.Graphics.DrawString(i.ToString(), FontBrushes.Black00StringFormat.GenericTypographic)
 
       e.Graphics.Restore(m_GraphicsSave)

 
   Next

    For s 
As Integer 10 To 100 Step 10

        m_GraphicsSave 
e.Graphics.Save()
 
       Dim m_matrixOffsetX As New Matrix(100, -130 + (10 30) + (Font.Height 2), 25)
 
       m_MatrixCloned m_matrix.Clone()
 
       m_MatrixCloned.Multiply(m_matrixOffsetX)
 
       e.Graphics.Transform m_MatrixCloned

        e
.Graphics.DrawString(s.ToString(), FontBrushes.Black00StringFormat.GenericTypographic)
 
       e.Graphics.Restore(m_GraphicsSave)

 
   Next

End Sub 
PHP كود :
PictureBox1.Invalidate() 



Abu Ehab Chart 2010



Chart control

PHP كود :
Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click

    Chart1
.BorderlineDashStyle DataVisualization.Charting.ChartDashStyle.Solid
    Chart1
.BorderlineColor Color.Black

    Chart1
.BackColor Color.Azure
    Chart1
.BackSecondaryColor Color.Silver
    Chart1
.BackGradientStyle DataVisualization.Charting.GradientStyle.TopBottom

    Chart1
.Series(0).Points.Clear()

 
   Dim p1 As New DataVisualization.Charting.DataPoint With {.Color Color.Red}
 
   p1.SetValueXY(10Val(TextBox1.Text))

 
   Dim p2 As New DataVisualization.Charting.DataPoint With {.Color Color.Blue}
 
   p2.SetValueXY(20Val(TextBox2.Text))

 
   Dim p3 As New DataVisualization.Charting.DataPoint With {.Color Color.Green}
 
   p3.SetValueXY(30Val(TextBox3.Text))

 
   Dim p4 As New DataVisualization.Charting.DataPoint With {.Color Color.Yellow}
 
   p4.SetValueXY(40Val(TextBox4.Text))

 
   Dim p5 As New DataVisualization.Charting.DataPoint With {.Color Color.Purple}
 
   p5.SetValueXY(50Val(TextBox5.Text))

 
   Dim p6 As New DataVisualization.Charting.DataPoint With {.Color Color.Maroon}
 
   p6.SetValueXY(60Val(TextBox6.Text))

 
   Dim p7 As New DataVisualization.Charting.DataPoint With {.Color Color.Khaki}
 
   p7.SetValueXY(70Val(TextBox7.Text))

 
   Chart1.Series(0).Points.Add(p1)
 
   Chart1.Series(0).Points.Add(p2)
 
   Chart1.Series(0).Points.Add(p3)
 
   Chart1.Series(0).Points.Add(p4)
 
   Chart1.Series(0).Points.Add(p5)
 
   Chart1.Series(0).Points.Add(p6)
 
   Chart1.Series(0).Points.Add(p7)

End Sub 
انا بشكرك جدا علي ردك بس انا بحب اعدل علي الادوات المصنوعة كاملة تغير الاستايل تبعا لبرنامجي واضافة لوازم اخري  وانا تبعت موضوع الرسم البياني بالادوات


عدلت الكود وظبط معايا الخاص بالرسم

والكود دة  يوضع فين في زر الرسم ولا فين

PictureBox1.Invalidate()

الطباعة الصورة تظهر بيضاء مش عارف اية المشكلة معني باطبع بية عادي اي صورة