C#'da Dinamik Form Boyutu

Başlatan Mucit23, 01 Ekim 2021, 13:59:40

Mucit23

Selamlar

C# da yapmış olduğumuz bir Form'un Farklı ekran çözünürlüklerinde de düzgün çalışması için ne yapmalıyız? Örnek veriyorum. Default Boyut 1366x768 olsun. Form üzerindeki Bütün komponentler bu çözünürlük için ayarlandı konumlandırıldı. Daha sonra aynı form 1920x1080 çözünürlüğe sahip bir ekranda tam ekran yapılınca Form büyümesine büyütor ama Fom üzerindeki komponentler sabit kalıyor. İşte Bu komponentlerinde dinamik bir şekilde scale edilmesi için bir yöntem olmalı mutlaka.

Bu işlem nasıl yapılır?

zamzam23

Alıntı yapılan: Mucit23 - 01 Ekim 2021, 13:59:40Selamlar

C# da yapmış olduğumuz bir Form'un Farklı ekran çözünürlüklerinde de düzgün çalışması için ne yapmalıyız? Örnek veriyorum. Default Boyut 1366x768 olsun. Form üzerindeki Bütün komponentler bu çözünürlük için ayarlandı konumlandırıldı. Daha sonra aynı form 1920x1080 çözünürlüğe sahip bir ekranda tam ekran yapılınca Form büyümesine büyütor ama Fom üzerindeki komponentler sabit kalıyor. İşte Bu komponentlerinde dinamik bir şekilde scale edilmesi için bir yöntem olmalı mutlaka.

Bu işlem nasıl yapılır?

Tablelayoutpanel ile anchor ayarlama methodu var. Bir inceleyin derim.

makdeniz

#2
Eğer eski form tasarımları ile devam edecekseniz Tablelayoutpanel ile yapılabilir ama yeni versiyonlarda xaml seçeneğide mevcut.
veya bu arkadaşın yaptığı gibi bir kaç kod blogu yazacaksınız.

https://www.youtube.com/watch?v=Uogvz9IXauQ
Karanlık olmadan aydınlık, Ölüm olmadan yaşam mantıksız.

tunayk

form özelliklerinde, AutoSize ve AutoSizeMod var.  Buradan yapabilirsiniz.

Mucit23

Teşekkürler. Biraz uğraşayım

tunayk

Daha önce pek kullanmamıştım ama şimdi benim için de gerekli oldu.  Aslında telefon yada web teki gibi işlevsel olmuyor. 

Eğer form ve kontrol yapısı basit textbox ve data grid gibi nesnelerden oluşuyor ve sadece ebat değişecek konum değişmeyecek ise, o zaman anchor özelliği ile bu sağlanabiliyor.
Ancak konumlarının da kayması gerekli ise ve etrafındaki kontrollerinde göreli olarak buna uyması gerekiyor ise bu iş maalesef kolayca olmuyor.  Olabilitesi var mı var.

Gerekli miktarda TableLayoutPanel kullanıp her kontrolünüzü bunun hücrelerine dock olarak sabitleyeceksiniz. Sonrasında taşıyıcı paneli ana forma dock edeceksiniz.  Böylece forma göre oransal büyüyüp küçülen nesneleriniz olacak.  Geriye ölçeğe göre nesnelerin fontlarının ayarlanması kalır sadece.