İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Form Ekran Konumu Ayarlama

C# Form Ekran Konumu Ayarlama
+ - 0

C# Form Ekran Konumu Ayarlama, yazım ile c# eğitim setime devam ediyorum. Bu dersimde masaüstü uygulamalarında açılan formların masa üstünde istediğimiz konumda açılmasını sağlamak isteyebiliriz. Şimdi bu işlemi nasıl yapacağımızı görelim.

 

C# Form Ekran Konumu Ayarlama

Bu işlem için, DesktopLocation metodunu kullanacağız. Bunu nerede kullandın derseniz aşağıdaki şekilde bir menüsü olan bir proje üzerinde çalışmıştım.

c# form ekran konumu

Bu ekran projenin ana formudur. Her açıldığında center screen olarak yani ekranın tam ortasında çıkıyordu. Bana göre bu pek hoş olmadığından dedim ki “sol tarafa yapışık olarak açılsın.” ve bunu nasıl yapacağımı araştırdım. Zaten hemen aradığım şeyi buldum. Şimdi bir formu ekranın istediğimiz noktasında nasıl açacağımızı görelim. Elbette birde şu var. Bu form aslında bu kadar uzun da değil. Hangi ekranda açılırsa açılsın, ekranın yüksekliğine göre otomatik olarak uzuyor. Yani diğer bir deyişle bu ana formu, ekranın soluna dock.left yapmış gibi oluyoruz.

            // bu kodlar sayesinde menü her zaman ekran yüksekliğinde hep aynı köşede olacak.
            this.DesktopLocation = new Point(0, 0);
            this.MinimumSize = new System.Drawing.Size(this.Width, Screen.PrimaryScreen.Bounds.Height);
            // bu kodlar sayesinde menü her zaman ekran yüksekliğinde hep aynı köşede olacak.

yukarıdaki kodları inceleyelim.

İlk satırdaki kod formu ekranın 0.0 konumuna sabitleyecek olan kodumuzdur. Bu şekilde kullanılanacak sabitlemelerde sadece Üst ve Sol olarak kullanılıyor.

Üstten ve soldan sıfır pixel boşluk bırak demiş olduk. Bunu sağdan veya alttan olarak kullanamıyoruz. Daima üst ve sola olan uzaklık üzerinden ilerleyebiliyoruz.

İkinci satıra baktığımızda ise formun uzunluğunu ayarlamayı görüyoruz. Genişlik olarak formun kendi genişliğini kullanıyoruz yükseklik olarak da ekranın yükseliğini alıp formun yükseliğine atıyoruz. Bu şekilde formumuzu ekranın soluna dock lamış yani yanaştırmış oluyoruz.

Kodlarımızın ve işlemlerimizin hepsi bu kadar arkadaşlar. Ek olarak birkaç bilgi daha vermek istiyorum. Örnek olarka yeni bir form açtığınızda ana menünün hemen sağından ekranın geri kalanı kadar geniş olsun derseniz de şu şekilde yapmalısınız.

            // bu kodlar sayesinde menü her zaman ekran yüksekliğinde hep aynı köşede olacak.
            int AnaFormWidth = 340; //
            int width = Screen.PrimaryScreen.Bounds.Width - AnaFormWidth;
            this.DesktopLocation = new Point(AnaFormWidth, 0);
            this.Size = new System.Drawing.Size(width, Screen.PrimaryScreen.Bounds.Height);
            // bu kodlar sayesinde menü her zaman ekran yüksekliğinde hep aynı köşede olacak.

Burada ana formun da genişliği bize gereklidir. Benim ana formumun genişliği 400 px olmasına rağmen 400 olarak kullandığımda formlar arasında boşluklar fazla geliyordu. bu sebeple 340 olarak kullandım ve tam geldi.  Önce formumuzun ekranında neresinde duracağını ayarlıyoruz. Ekranın genişliğini aldıktan sonra da ekran genişliğinden ana formumuzun genişliğini çıkartıp bir int değişkene atıyoruz ve formumuzun genişliğine atıyoruz. Yüksekliğimiz ise yine ekran yüksekliği kadar olacak.

Formumuz açıldığında ana formumuzun hemen sağından başlayarak tüm ekranı kaplayacak şekilde açılmış oluyor.


C# Form Ekran Konumu Ayarlama, yazımızda bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Sağlıcakla ve takipte kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)