Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
2884
Tıklama
0
Öne Çıkarma
C# - Windows Form transparan arka planda text sorunu
F
4 yıl
Yarbay
Konu Sahibi

Merhabalar. Windows form'da tamamen transparan bir görünüme sahip ve sadece yazıların (label kullanıyorum şimdilik, başka öneri varsa kullanabilirim) gözükeceği saydam bir uygulama yapıyorum.

Fakat şöyle bir sıkıntı var, internette de yazan birçok yerdeki yönteme göre denediğimde transparan oluyor ama yazının arkasında transparan rengi neyse o da beliriyor. Daha iyi anlatabilmem için direkt görsel üzerinden örnek veriyorum, aşağıdaki görsellerde gördüğünüz gibi yazının arkasında transparentKey olarak verilen renk ne ise (internetteki birçok örneğe göre Color.Lime veriliyor, ben de onu verdim) o beliriyor. Bunu nasıl düzeltebilirim acaba? Bu arada uygulamada borderStyle'ı da kapattım yani sadece label'daki yazı gözükecek şekilde ayarlardım tasarım olarak.

< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >





Yazdığım kod:

private void Form1_Load(object sender, EventArgs e)
        {
            BackColor = Color.Lime;
            TransparencyKey = Color.Lime;


            FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            label1.Text = "deneme 12345";
        }



--------------------------------------------------------------------------------------------------------------------------------------------------------------------



GÜNCELLEME: Arkadaşlar son olarak konuyu bilgilendirme amaçlı güncelliyorum. Windows Form'da "Program.cs" dosyasındaki "Application.SetCompatibleTextRenderingDefault(false);" satırının sonunu "true" yaparsanız benim gösterdiğim gibi saydam form üzerindeki yazıların arkasından renk fışkırması sorunu kısmen önlenmiş oluyor. Kısmen diyorum çünkü formun BackColor ve TransparencyKey'ine siyah renk vererek ve bu ayarı yaparak en iyi sonucu alabildim şu ana kadar deneyerek.
Bir de bu söylediğim ayarı yapınca ufak bir şekilde yazı fontunda tırtıklanma meydana geliyor. Aslında ayarı yapmadan önce de tırtıklanma mevcut ama TransparencyKey ile aynı arka fona denk gelirse yazı, tırtıklanma kayboluyordu. Bu ayarda komple tırtıklanma mevcut her durumda. Çünkü bu ayar ile yazı fontlarındaki anti-aliasing'i kapatmış oluyoruz. Bunu en aza indirmek için yumuşak hatlara sahip yazı fontları kullanılabilir ve mümkün oldukça çok büyük yazılar eklemeyerek bu durum idare edilebilir Size bu yaptığım ayarın öncesi ve sonrasına ait örnek görseller bırakıyorum:

< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >

Eğer kullanacağınız yazı renkleri siyah ve beyaz ise BackColor ve TransparencyKey'i farklı bir renk yapıp deneme yapabilirsiniz. Çünkü onlarda yine arkada renk taşması oluyor gibi bu ayarlarda.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 8 Ağustos 2021; 3:2:35 >

G
4 yıl
Yarbay

F
4 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: Gökşen PASLI

C# - Fully Transparent Background in WinForm App - YouTube
Bu videoyu defalarca izledim hocam, bu konudaki bütün çıkan örnekleri, kaynakları inceledim bu sorunun kesin bir çözümü yok gibi. Windows Form'u transparan yapamıyorsunuz direkt olarak. Bu videoda belki adamın kullandığı renklerden dolayı belli olmasa da zaten benim yaptığım ve intertte de her yerde yazanla aynı şeyi yapıyor. Bir arka plan rengi verip onu transparentKey olarak atıyor ve böylece o rengi aslında maskeleyerek sözde transparan bir form yapmış oluyoruz. Ama bu durumda textlerin keskinliği ortaya çıkıyor, verdiğimiz transparentKey rengi textlerin keskin yerlerini doldurarak benim gösterdiğim gibi bir bozukluğa yol açıyor.





< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 4 Ağustos 2021; 22:33:0 >

G
4 yıl
Yarbay

winformsu bırakalı çok oldu ben wpf ile geliştirme yapıyorum onda bu tarz bi sıkıntı yok wpfyi de deneyebilirsin


Bu mesaja 1 cevap geldi.
F
4 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: Gökşen PASLI

winformsu bırakalı çok oldu ben wpf ile geliştirme yapıyorum onda bu tarz bi sıkıntı yok wpfyi de deneyebilirsin
Tamamdır hocam WPF'de birkaç deneme yaptım, istediğimi yapabiliyorum. Sorun Windows Form'la alakalı, WPF'de sorun yok.





< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 5 Ağustos 2021; 2:0:0 >

F
4 yıl
Yarbay
Konu Sahibi

GÜNCELLEME: Arkadaşlar son olarak konuyu bilgilendirme amaçlı güncelliyorum. Windows Form'da "Program.cs" dosyasındaki "Application.SetCompatibleTextRenderingDefault(false);" satırının sonunu "true" yaparsanız benim gösterdiğim gibi saydam form üzerindeki yazıların arkasından renk fışkırması sorunu kısmen önlenmiş oluyor. Kısmen diyorum çünkü formun BackColor ve TransparencyKey'ine siyah renk vererek ve bu ayarı yaparak en iyi sonucu alabildim şu ana kadar deneyerek.
Bir de bu söylediğim ayarı yapınca ufak bir şekilde yazı fontunda tırtıklanma meydana geliyor. Aslında ayarı yapmadan önce de tırtıklanma mevcut ama TransparencyKey ile aynı arka fona denk gelirse yazı, tırtıklanma kayboluyordu. Bu ayarda komple tırtıklanma mevcut her durumda. Çünkü bu ayar ile yazı fontlarındaki anti-aliasing'i kapatmış oluyoruz. Bunu en aza indirmek için yumuşak hatlara sahip yazı fontları kullanılabilir ve mümkün oldukça çok büyük yazılar eklemeyerek bu durum idare edilebilir Size bu yaptığım ayarın öncesi ve sonrasına ait örnek görseller bırakıyorum:

< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >


< Resime gitmek için tıklayın >

Eğer kullanacağınız yazı renkleri siyah ve beyaz ise BackColor ve TransparencyKey'i farklı bir renk yapıp deneme yapabilirsiniz. Çünkü onlarda yine arkada renk taşması oluyor gibi bu ayarlarda.





< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 8 Ağustos 2021; 2:55:26 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.