Kaydol:
Kayıt Yorumları
(
Atom
)
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