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
}
}
}

Hiç yorum yok :
Yorum Gönder