KONU : C Sharp Uygulamalar - C Sharp ( C# ) form elips şekline buton oluşturma. C sharp forma elips şeklinde dinamik butonlar ekleme ve olay atama. GraphicPath sınıfını kullanarak elips şeklinde buton oluşturma.
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 C_Sharp_Form_Elips_Buton_Olusturma
{
public partial class Elips_Buton : Form
{
public Elips_Buton()
{
InitializeComponent();
InitializeMyComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// beyaz renkli bir elips buton oluşturalım
ShapedButton elips_buton_beyaz = new ShapedButton();
// Kare veya dikdörtgen butonun size özelliği değiştiği an
//şekli elips olacaktır
elips_buton_beyaz.Size = new Size(120, 80);
// elips butona diğer özellikleri dinamik olarak verebiliriz
elips_buton_beyaz.Location = new System.Drawing.Point(60, 60);
elips_buton_beyaz.BackColor = Color.White;
elips_buton_beyaz.FlatAppearance.BorderSize = 0;
elips_buton_beyaz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
elips_buton_beyaz.FlatAppearance.BorderColor = Color.Blue;
elips_buton_beyaz.TabStop = false;
elips_buton_beyaz.TabIndex = 1;
// oluşan elips butonu ana forma ekleme
this.Controls.Add(elips_buton_beyaz);
// Siyah renkli bir elips buton oluşturalım
ShapedButton elips_buton_siyah = new ShapedButton();
// Kare veya dikdörtgen butonun size özelliği değiştiği an
//şekli elips olacak
elips_buton_siyah.Size = new Size(120, 80);
// elips butona diğer özellikleri dinamik olarak verebiliriz
elips_buton_siyah.Location = new System.Drawing.Point(160, 160);
elips_buton_siyah.BackColor = Color.Black;
elips_buton_siyah.FlatAppearance.BorderSize = 0;
elips_buton_siyah.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
elips_buton_siyah.FlatAppearance.BorderColor = Color.Blue;
elips_buton_siyah.TabStop = false;
elips_buton_siyah.TabIndex = 2;
// oluşan elips butonu ana forma ekleme
this.Controls.Add(elips_buton_siyah);
// Ayrıca butonlara bir click event i de ekleyelim butonlara tıklandığında
// renkleri değişsin
elips_buton_beyaz.Click += new EventHandler(elips_buton_Click);
elips_buton_siyah.Click += new EventHandler(elips_buton_Click);
}
private void elips_buton_Click(object sender, EventArgs e)
{
// hangi elips butona yıklanmışsa onun rengini değiştir
//Eğer elips 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;
}
}
private void InitializeMyComponent()
{
this.SuspendLayout();
//
// Form1 oluştur, elips buton ana form
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 328);
this.Name = "Elips";
this.Text = "Elips Buton";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
}
// Elips butonu oluşturmak için kullanılacak olan Class
public class ShapedButton : Button //Buton sınıfından miras alacak
{
// Elips buton a yeni bir boyut ( size ) verildiğinde şeklini elips yapacak
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
GraphicsPath gp = new GraphicsPath();
// this.Size ın en boyu aynı oldugundan elips bir şekil oluşacak
gp.AddEllipse(new Rectangle(Point.Empty, this.Size));
// oluşan yeni elips şekli oluşturulan butona atama
this.Region = new Region(gp);
// Butonun yeni şekli elips oldu
}
}
}

Hiç yorum yok :
Yorum Gönder