C# Örnekleri – Font ve Biçim Özelliklerini Değiştirme

C#’ta Form Application projesi ile TextBox içindeki bir metnin yazı tipi, yazı boyutu ile biçim özellikleri değiştirilmiştir.

C# komutlarıyla font özelliklerini değiştirmek için kullanılan form üzerinde metin girilen bir TextBox; font diyalog kutusunu açan bir buton; font seçimi, font boyutu ve rengi için birer ComboBox; metin boyutunu artırıp azaltmak için birer Button; yazıyı kalın, italik ve altı çizili yapmak için de Button görünümlü birer CheckBox; hızlı font seçimi için de FontDialog kullanılmıştır.

Uygulamanın ekran görüntüsü şu şekildedir:

Font Diyalog Penceresi Açma

Teker teker uğraşmak yerine sistem font penceresi kullanılarak stil uygulaması mümkündür.

C# ile Yazı Tipi Değiştirme

Fontun eski özellikleri olan boyutu ve stil özelliklerini yedeklemek için eski adında Font sınıfından türetilmiş bir nesne kullanılır. textBox1 nesnesinin font özellikleri, yeni oluşturulan bu nesneye aktarılır. Ardından da textBox1’in yeni Font özelliklerini ayarlamak için yeni bir font tanımlaması yapılır. cbFont isimli ComboBox‘tan seçilen yazı tipinin adı ve eski fontun Size (boyut) ve Style özellikleri parametre olarak gönderilir.

C# ile Yazı Boyutu Değiştirme

Yazı tipinde olduğu gibi yine eski değerleri tutan bir nesne oluşturuluyor. Ardından da eski yazı tipini FontFamily ile parametre olarak gönderiyoruz. Önceki koda göre yapılması gereken tek değişiklik, Size yerine gelmesi gereken değerin cbBoyut isimli ComboBox’tan alınmasıdır.

C# ile Yazı Boyutunu Artırma

Eski boyutun üzerine her seferinde 1 ekleyerek gerçekleştirilir.

C# ile Yazı Boyutunu Küçültme

Eski boyuttan her seferinde 1 çıkarılarak gerçekleştirilir.

C# ile Yazı Rengini Değiştirme

Yazı rengini değiştirek için cbRenk isminde bir ComboBox oluşturulmuştur. Kullanıcının işaretlediği seçeneğe göre yazı rengi değiştirimektedir.

C# ile Yazının Stil Özelliklerini Değiştirme: VEYA İşlemi

Yazıdaki form görüntüsünü dikkatle inceleyenler, form üzerinde hiç CheckBox görünmediği fark etmiştir. CheckBox yerine kalın (B), italik (I) ve altı çizili (A) anlamında görünen nesneler Appearance özelliği Button olarak ayarlanmış CheckBox‘lardır.

Belki şu ana kadar C#’ta görebileceğiniz en ilginç operatör: |=

Bu atama operatörü, VEYA işlemi ile birlikte atama yapar. Stil özelliklerini değiştiren yukarıdaki kod bloğu yerine aşağıdaki kodlar, yeni öğrenenler için daha açıklayıcı olabilir:

Burada da görüldüğü gibi, | operatörü ile VEYA işlemi gerçekleştirilir. Böyle bir şeye sebep duyulması, FontStyle özelliğinin bitsel özelliklere göre yapılandırılmış olmasıdır. Bunun bu şekilde yapılma sebebi, birden fazla stil seçeneğinin hepsinin özellik olarak atanabilmesini sağlamaktır. Örneğin kalın ve italik olan bir metne, kolaylıkla altı çizili özelliği de eklenebilmekte, istenilen özellikler de devre dışı bırakılabilmektedir.

Font özelliklerini ayarlamak için öncelikle FontStyle.Regular şeklinde, hiçbir stil özelliğini içermeyen tanımlamayı oluşturulan stil değişkenine aktarılır. Ardından kalın, italik ve altı çizili CheckBox’lardan hangileri seçilmişse  bunlar VEYA işlemi ile mevcut stil değişkeni özelliklerinin üzerine yazılarak ilgili özellik aktif edilir.

Konuyla ilgili merak ettiklerini yorum olarak bırakabilirsiniz.

Projedeki form içerisindeki kodların birleştirilmiş hali şu şekildedir:

 

About Hürkal HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Hürkal HÜSEM →

2 Comments on “C# Örnekleri – Font ve Biçim Özelliklerini Değiştirme”

  1. merhaba sizin bu kodlara göre bir uygulama yaptım. 3 tane cbox içine family ,size ,style degerleri giriyoruz.richtextbox içinde seçilen yazıyı cboxlardan seçilene göre değiştirecek.
    sorunşu koç gibi Türkçe karakter olan kelimeleri bir family değiştiriyor sonra hiç bir özelliğini değiştirmiyor. selecektion.family ,size,style özellikleri bazen çalışıyor sorun yok bazen arada hata veriyor.
    niye böyle randımansızlık var bilginiz var mı?

    1. Ben herhangi bir sorunla karşılaşmadım. Bu durumun bilgisayarın bölgesel dil ayarlarından bağımsız olması gerek ancak başka ihtimal gelmiyor aklıma. Bölgesel ve klavye dil ayarlarınız tamamen Türkçe mi?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.