11 Mayıs 2013 Cumartesi

C Sharp Uygulamalar Yuvarlak Buton Oluşturma Click Event Olayını Çalıştırarak Arka Plan Rengini Değiştirme



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form yuvarlak buton oluşturma, buton arka plan rengini değiştirme. Graficspath nesnesini kullanarak OnResize metodu ile yuvarlak buton oluşturma. Click event olayını çalıştırma, metoda bağlama.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

namespace yuvarlak_buton_olusturma
{
    public partial class Form_Yuvarlak_Buton_Olusturma : Form
    {
        public Form_Yuvarlak_Buton_Olusturma()
        {
            InitializeComponent();
        }

        private void Form_Yuvarlak_Buton_Olusturma_Load(object sender, EventArgs e)
        {
            // beyaz renkli bir yuvarlak buton oluşturalım 
           
            
            ShapedButton yuvarlak_buton_beyaz = new ShapedButton();
           
            
            // Kare veya dikdörtgen butonun size özelliği değiştiği an 
            //şekli yuvarlak olacak
           
            yuvarlak_buton_beyaz.Size = new Size(80, 80);
           
            
            // yuvarlak butona diğer özellikleri dinamik olarak verebiliriz
           
            yuvarlak_buton_beyaz.Location = new System.Drawing.Point(60, 60);
            yuvarlak_buton_beyaz.BackColor = Color.White;
            yuvarlak_buton_beyaz.FlatAppearance.BorderSize = 0;
            yuvarlak_buton_beyaz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            yuvarlak_buton_beyaz.FlatAppearance.BorderColor = Color.Blue;
            yuvarlak_buton_beyaz.TabStop = false;
            yuvarlak_buton_beyaz.TabIndex = 1;

            
            // oluşan yuvarlak butonu ana forma ekleme
           
            this.Controls.Add(yuvarlak_buton_beyaz);

           
            // Siyah renkli bir yuvarlak buton oluşturalım 
           
            ShapedButton yuvarlak_buton_siyah = new ShapedButton();
           
            
            // Kare veya dikdörtgen butonun size özelliği değiştiği an 
            //şekli yuvarlak olacak
           
            yuvarlak_buton_siyah.Size = new Size(80, 80);
          
            
            // yuvarlak butona diğer özellikleri dinamik olarak verebiliriz
           
            yuvarlak_buton_siyah.Location = new System.Drawing.Point(160, 160);
            yuvarlak_buton_siyah.BackColor = Color.Black;
            yuvarlak_buton_siyah.FlatAppearance.BorderSize = 0;
            yuvarlak_buton_siyah.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            yuvarlak_buton_siyah.FlatAppearance.BorderColor = Color.Blue;
            yuvarlak_buton_siyah.TabStop = false;
            yuvarlak_buton_siyah.TabIndex = 2;
           
            
            // oluşan yuvarlak butonu ana forma ekleme
           
            this.Controls.Add(yuvarlak_buton_siyah);

           
            // Ayrıca butonlara bir click event i de ekleyelim butonlara tıklandığında
            // renkleri değişsin
             
            yuvarlak_buton_beyaz.Click += new EventHandler(yuvarlak_buton_Click);
            yuvarlak_buton_siyah.Click += new EventHandler(yuvarlak_buton_Click);

        }

        private void yuvarlak_buton_Click(object sender, EventArgs e)
        {
            // hangi yuvarlak butona yıklanmışsa onun rengini değiştir
            //Eğer yuvarlak buton un rengi kırmızı ise eski rengine döndür

            Button tiklananButon = sender as Button;


            if (tiklananButon.TabIndex == 1)
            {
                if (tiklananButon.BackColor == Color.Red)
                {
                    tiklananButon.BackColor = Color.White;
                }
                else
                {
                    tiklananButon.BackColor = Color.Red;
                }
            }
            else
            {
                if (tiklananButon.BackColor == Color.Red)
                {
                    tiklananButon.BackColor = Color.Black;
                }
                else
                {
                    tiklananButon.BackColor = Color.Red;
                }
            }
        }

        #region Windows Form Designer generated code

        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Yuvarlak_Buton_Olusturma));
            this.SuspendLayout();
            // 
            // Form_Yuvarlak_Buton_Olusturma
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 328);
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.Name = "Form_Yuvarlak_Buton_Olusturma";
            this.Text = "Yuvarlak Buton";
            this.Load += new System.EventHandler(this.Form_Yuvarlak_Buton_Olusturma_Load);
            this.ResumeLayout(false);

        }

        #endregion
    }





    // Yuvarlak butonu oluşturmak için kullanılacak olan Class


    public class ShapedButton : Button //Buton sınıfından miras alacak
    {
        // Yuvarlak buton a yeni bir boyut ( size ) verildiğinde şeklini yuvarlak yapacak
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);
            GraphicsPath gp = new GraphicsPath();
            // this.Size ın en boyu aynı oldugundan yuvarlak bir şekil oluşacak
            gp.AddEllipse(new Rectangle(Point.Empty, this.Size));
            // oluşan yeni yuvarlak şekli oluşturulan butona atama
            this.Region = new Region(gp);
            // Butonun yeni şekli yuvarlak oldu
        }
    }
}
   

UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönderme