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_Yuvarlak_Kare_Buton_Olusturma { public partial class Form_Yuvarlak_Kare_Buton_Olusturma : Form { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form_Yuvarlak_Kare_Buton_Olusturma()); } public Form_Yuvarlak_Kare_Buton_Olusturma() { InitializeComponent(); InitializeMyComponent(); } private void Form1_Load(object sender, EventArgs e) { // Mavi renkli bir yuvarlak kare buton oluşturalım YuvarlakKareButon yuvarlak_kare_buton = new YuvarlakKareButon(); // Kare veya dikdörtgen butonun size özelliği değiştiği an //şekli yuvarlak kare olacak yuvarlak_kare_buton.Size = new Size(50, 75); // yuvarlak kare butona diğer özellikleri dinamik olarak verebiliriz yuvarlak_kare_buton.Location = new System.Drawing.Point(60, 60); yuvarlak_kare_buton.BackColor = Color.Blue; yuvarlak_kare_buton.FlatAppearance.BorderSize = 0; yuvarlak_kare_buton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; yuvarlak_kare_buton.FlatAppearance.BorderColor = Color.Blue; yuvarlak_kare_buton.TabStop = false; yuvarlak_kare_buton.Text = "Aç"; yuvarlak_kare_buton.TabIndex = 1; // oluşan yuvarlak kare butonu ana forma ekleme this.Controls.Add(yuvarlak_kare_buton); // Kırmızı renkli bir yuvarlak kare buton oluşturalım YuvarlakKareButon yuvarlak_kare_button = new YuvarlakKareButon(); // Kare veya dikdörtgen butonun size özelliği değiştiği an //şekli yuvarlak kare olacak yuvarlak_kare_button.Size = new Size(50, 75); // yuvarlak kare butona diğer özellikleri dinamik olarak verebiliriz yuvarlak_kare_button.Location = new System.Drawing.Point(120, 60); yuvarlak_kare_button.BackColor = Color.Red; yuvarlak_kare_button.FlatAppearance.BorderSize = 0; yuvarlak_kare_button.FlatStyle = System.Windows.Forms.FlatStyle.Flat; yuvarlak_kare_button.FlatAppearance.BorderColor = Color.Blue; yuvarlak_kare_button.TabStop = false; yuvarlak_kare_button.Text = "Kapat"; yuvarlak_kare_button.TabIndex = 1; // oluşan yuvarlak kare butonu ana forma ekleme this.Controls.Add(yuvarlak_kare_button); // Ayrıca butonlara bir click event i de ekleyelim butonlara tıklandığında // renkleri değişsin yuvarlak_kare_button.Click += new EventHandler(yuvarlak_kare_button_Click); // beyaz renkli bir yuvarlak buton oluşturalım YuvarlakButon yuvarlak_buton_beyaz = new YuvarlakButon(); // Kare veya dikdörtgen butonun size özelliği değiştiği an //şekli yuvarlak olacak yuvarlak_buton_beyaz.Size = new Size(50, 50); // yuvarlak butona diğer özellikleri dinamik olarak verebiliriz yuvarlak_buton_beyaz.Location = new System.Drawing.Point(60, 120); 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; yuvarlak_buton_beyaz.Text = "Aç"; // oluşan yuvarlak butonu ana forma ekleme this.Controls.Add(yuvarlak_buton_beyaz); // Siyah renkli bir yuvarlak buton oluşturalım YuvarlakButon yuvarlak_buton_siyah = new YuvarlakButon(); // Kare veya dikdörtgen butonun size özelliği değiştiği an //şekli yuvarlak olacak yuvarlak_buton_siyah.Size = new Size(50, 50); // yuvarlak butona diğer özellikleri dinamik olarak verebiliriz yuvarlak_buton_siyah.Location = new System.Drawing.Point(120, 120); yuvarlak_buton_siyah.BackColor = Color.Black; yuvarlak_buton_siyah.ForeColor = Color.White; 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; yuvarlak_buton_siyah.Text = "Kapat"; // 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_kare_button_Click(object sender, EventArgs e) { if (((YuvarlakKareButon)sender).BackColor == Color.Blue) ((YuvarlakKareButon)sender).BackColor = Color.Red; else ((YuvarlakKareButon)sender).BackColor = Color.Blue; } 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; } } private void InitializeMyComponent() { this.SuspendLayout(); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(224, 186); this.Name = "Buton"; this.Text = "Yuvarlak Kare Buton Oluşturma "; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } } public class YuvarlakKareButon : Button { protected override void OnResize(EventArgs e) { base.OnResize(e); GraphicsPath gp = new GraphicsPath(); Point[] point = new Point[4]; point[0] = new Point(0, -25); point[1] = new Point(50,-25); point[2] = new Point(50, 25); point[3] = new Point(0, 25); gp.AddPolygon(point); gp.AddPie(0, 0, 50, 50,0,180); // Grafik nesnesi ile butona yuvarlak ve kare görünümü verildi this.Region = new Region(gp); } } // Yuvarlak butonu oluşturmak için kullanılacak olan Class public class YuvarlakButon : 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