ویژوال 30 شارپ

سورس کدهای جالب سی شارپ فقط با یک نگاه

ویژوال 30 شارپ

سورس کدهای جالب سی شارپ فقط با یک نگاه

Drawing Line

int x1, y1 = 0;
        bool c = false;
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
                x1 = e.X;
                y1 = e.Y;
                c = true;
                al.Add(new Point(e.X, e.Y));
        }
        System.Collections.ArrayList al = new System.Collections.ArrayList();
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (c == true)
            {
                System.Drawing.Drawing2D.LinearGradientBrush brush1= new
                System.Drawing.Drawing2D.LinearGradientBrush(
                new Rectangle(0, 0, 2, 2), Color.YellowGreen, Color.Green,
                System.Drawing.Drawing2D.LinearGradientMode.BackwardDiagonal);
                Bitmap b = new Bitmap(Width, Height);
                Graphics g = Graphics.FromImage(b);
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                al.Add(new Point(e.X, e.Y));
                Point[] p = new Point[al.Count];
                al.CopyTo(p);
                g.DrawLines(new Pen(brush1,5), p);
                this.BackgroundImage = b;
            }
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            c = false;
        }

Drawing Chart 2

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            int a, b, c, d = 0;
            a = int.Parse(numericUpDown1.Value.ToString());
            b = a * 3600;
            c = b / 1000;
            d = 50;
            System.Drawing.Drawing2D.LinearGradientBrush b1 = new System.Drawing.Drawing2D.LinearGradientBrush(new
     Rectangle(50, 20, 190, 170), Color.Yellow, Color.Green, System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal);

            SolidBrush sb = new SolidBrush(Color.Black);
            Bitmap bit = new Bitmap(Width, Height);
            Graphics g = Graphics.FromImage(bit);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            g.DrawPie(new Pen(sb, 1), d, 20, 190, 170, 0, 360);
            sb.Color = Color.Silver;
            g.FillPie(sb, d, 20, 190, 170, 0, 360);
            sb.Color = Color.Black;
            g.DrawPie(new Pen(sb, 1), d, 20, 190, 170, -c, c);
            sb.Color = Color.Yellow;
            g.FillPie(b1, d, 20, 190, 170, -c, c);
            this.BackgroundImage = bit;

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            numericUpDown1_ValueChanged(null, null);
        }

Denabled Close Button

using System.Runtime.InteropServices;

private const int SC_CLOSE = 0xF060;
private const int MF_GRAYED = 0x1;
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
private static extern int EnableMenuItem(IntPtr hMenu, int wIDEnableItem, int wEnable);

private void Form1_Load(object sender, System.EventArgs e)
{
    EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
}

Circle Form

private void Form1_Load(object sender, EventArgs e)
{
    this.Height = 350;
    this.Width = 350;
    //Creating circle path
    System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
    path.AddEllipse(0, 0, 300, 300);
    //Creating the region from the circle path
    this.Region = new Region(path);
    this.Show();
}

Analog Clock

private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap(pictureBox1.Width,pictureBox1.Height);
            Graphics g = Graphics.FromImage(b);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            for (int i = 1; i <=4; i++)
            {
                float f1 = (float)Math.Sin(Math.PI / 2 * i) * b.Width / 2 + b.Width / 2;
                float f2 = (float)Math.Cos(Math.PI / 2 * i) * b.Height / 2 + b.Height / 2;
                float f3 = (float)Math.Sin(Math.PI / 2 * i) * 90 + b.Width / 2;
                float f4 = (float)Math.Cos(Math.PI / 2 * i) * 90 + b.Height / 2;
                g.DrawLine(new Pen(Brushes.Black, 2), f3 ,
                   f4, f1, f2);
            }
            System.Drawing.Drawing2D.LinearGradientBrush l = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, Width, Height),
                Color.YellowGreen, Color.Green, System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal);
            g.FillEllipse(l, new Rectangle(0, 0, b.Width - 1, b.Height - 1));
            g.DrawEllipse(new Pen(Brushes.Black), new Rectangle(0, 0, b.Width - 1, b.Height - 1));
            pictureBox1.BackgroundImage = b;

        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(b);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

            DateTime dt = DateTime.Now;
            double i1 = (dt.Minute * 360) / 60;
            float fm1 = (float)(Math.Sin(Math.PI * i1 / 180) * (b.Width / 2 - 20) + b.Width / 2);
            float fm2 = (float)(-Math.Cos(Math.PI * i1 / 180) * (b.Height / 2 - 20) + b.Height / 2);
            float fm3 = (float)(-Math.Sin(Math.PI * i1 / 180) * (b.Width / 2 - 90) + b.Width / 2);
            float fm4 = (float)(Math.Cos(Math.PI * i1 / 180) * (b.Height / 2 - 90) + b.Height / 2);
            #region Hour
            double i2 =  (dt.Hour * 360) / 12 ;
            float fh1 = (float)(Math.Sin(Math.PI * i2 / 180) * (b.Width / 2 - 50) + b.Width / 2);
            float fh2 = (float)(-Math.Cos(Math.PI * i2 / 180) * (b.Height / 2 - 50) + b.Height / 2);
            float fh3 = (float)(-Math.Sin(Math.PI * i2 / 180) * (b.Width / 2 - 90) + b.Width / 2);
            float fh4 = (float)(Math.Cos(Math.PI * i2 / 180) * (b.Height / 2 - 90) + b.Height / 2);
            g.DrawLine(new Pen(Brushes.Black, 6), b.Width / 2, b.Height / 2, fh1, fh2);
            g.DrawLine(new Pen(Brushes.Black, 6), b.Width / 2, b.Height / 2, fh3, fh4);
            #endregion

            #region Minute
             g.DrawLine(new Pen(Brushes.Blue, 3), b.Width / 2, b.Height / 2, fm1, fm2);
            g.DrawLine(new Pen(Brushes.Blue, 3), b.Width / 2, b.Height / 2, fm3, fm4);
            #endregion

            #region Second

            double i = (dt.Second * 360) / 60;
            float f1 = (float)(Math.Sin(Math.PI * i / 180) * (b.Width / 2 - 15) + b.Width / 2);
            float f2 = (float)(-Math.Cos(Math.PI * i / 180) * (b.Height / 2 - 15) + b.Height / 2);
            float f3 = (float)(-Math.Sin(Math.PI * i / 180) * (b.Width / 2 - 70) + b.Width / 2);
            float f4 = (float)(Math.Cos(Math.PI * i / 180) * (b.Height / 2 - 70) + b.Height / 2);
            g.DrawLine(new Pen(Brushes.Red, 1), b.Width / 2, b.Height / 2, f1, f2);
            g.DrawLine(new Pen(Brushes.Red, 1), b.Width / 2, b.Height / 2, f3, f4);
            #endregion

            g.FillEllipse(Brushes.Black, new Rectangle(b.Width / 2 - 6, b.Height / 2 - 6, 12, 12));
          
            pictureBox1.Image = b;
        }