Çözüldü Programda TabControl çevreçesinin rengini değiştirmek

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

BayCoder

Hectopat
Katılım
8 Mart 2021
Mesajlar
532
Makaleler
4
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Selam, C# ile geliştirdiğim uygulamamda karanlık tema yapmaya çalışıyorum. Uygulamamda TabControl kullanmaktayım. TabControl'ün çerçevesini renklendirmek istiyorum nasıl yapabilirim? Bu arada uygulamam WinForms kullanıyor.
?hash=ddf5ff6a968410b635ab1924cbbf8db8.png

Untitled.jpg
 

Dosya Ekleri

  • 1682772684581.png
    1682772684581.png
    20,5 KB · Görüntüleme: 32
Son düzenleyen: Moderatör:
Çözüm
TabConrol'ü Form dışına taşıyın, yani kenarlıklar taşsın dışarıya beyaz alan gözükmeyeseye kadar. Ardından buttonlar ile geçiş sistem yapın.

Ek olarak Form büyüdüğü zaman otomatik olarak TabControl'de büyümesi için Anchor özelliğini Top, Left, Bottom ve Right seçili hale getirin.

TabControl'ü butonlarla kontrol etmek için şu şekilde yapmanız gerekiyor;

C#:
tabControl1.SelectedTab = tab_1;
// tab_1 olan yeri istediğiniz sayfa hangisi ise onu yazacaksınız.
Başka bir kaynaktan alıntıladım emin değilim ama bir bakın isterseniz işinizi görebilir.
C#:
private void ChangeTabColor(DrawItemEventArgs e)
{
Font TabFont;
Brush BackBrush = new SolidBrush(Color.Green); //Arkaplan Rengi
Brush ForeBrush = new SolidBrush(Color.Yellow);//Arkaplan Rengi
if (e.Index == this.tabControl1.SelectedIndex)
{
TabFont = new Font(e.Font, FontStyle.Italic FontStyle.Bold);
}
else
{
TabFont = e.Font;
}
string TabName = this.tabControl1.TabPages[e.Index].Text;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
e.Graphics.FillRectangle(BackBrush, e.Bounds);
Rectangle r = e.Bounds;
r = new Rectangle(r.X, r.Y + 3, r.Width, r.Height - 3);
e.Graphics.DrawString(TabName, TabFont, ForeBrush, r, sf);
//Nesneleri Kaldırma
sf.Dispose();
if (e.Index == this.tabControl1.SelectedIndex)
{
TabFont.Dispose();
BackBrush.Dispose();
}
else
{
BackBrush.Dispose();
ForeBrush.Dispose();
}
}
 
TabConrol'ü Form dışına taşıyın, yani kenarlıklar taşsın dışarıya beyaz alan gözükmeyeseye kadar. Ardından buttonlar ile geçiş sistem yapın.

Ek olarak Form büyüdüğü zaman otomatik olarak TabControl'de büyümesi için Anchor özelliğini Top, Left, Bottom ve Right seçili hale getirin.

TabControl'ü butonlarla kontrol etmek için şu şekilde yapmanız gerekiyor;

C#:
tabControl1.SelectedTab = tab_1;
// tab_1 olan yeri istediğiniz sayfa hangisi ise onu yazacaksınız.
 
Çözüm
TabConrol'ü Form dışına taşıyın, yani kenarlıklar taşsın dışarıya beyaz alan gözükmeyeseye kadar. Ardından buttonlar ile geçiş sistem yapın.

Ek olarak Form büyüdüğü zaman otomatik olarak TabControl'de büyümesi için Anchor özelliğini Top, Left, Bottom ve Right seçili hale getirin.

TabControl'ü butonlarla kontrol etmek için şu şekilde yapmanız gerekiyor;

C#:
tabControl1.SelectedTab = tab_1;
// tab_1 olan yeri istediğiniz sayfa hangisi ise onu yazacaksınız.
Teşekkürler hocam hiç böyle düşünmemiştim.
 

Yeni konular

Geri
Yukarı