2009-11-12 21 views
9

C# 'de dikey sekmelerle bir sekme denetimi nasıl uygularım?C# 'daki sekmeleri dikey sekmelerle nasıl uygularım?

+0

Bunu koyabilir miyim üzerinde bağlamda? (ör., bir kontrol panelinde, bir web sayfasında, bir metin editöründe bir formda?) –

+0

Hangi platform - Windows uygulaması, WPF, ASP.NET, ASP.NET MVC ... vs ... –

+0

Bob; Sekmenin başlığı genellikle üstte bulunur. Solda olmasını istiyorum. John; Windows uygulaması –

cevap

16

System.Windows.Forms.TabControl örneğini (Windows Forms için standart kapsayıcı denetimlerinden biri) oluşturun ve Hizalama özelliğini Sol olarak ayarlayın.

+1

Mükemmel! Teşekkürler. –

+0

Vay, googlers doğru cevabı seçebilir? asla yapmazlar. –

+1

+1 sizin için! : DDD –

1

İlk olarak, Hizalama özelliğini Left (Sol) olarak ayarlayın.

İkinci olarak SizeMode özelliği düzeltildi.

Üçüncü set ItemSize özelliği tercih edilen boyuta örnek genişliği: 30 yükseklik: 120.

Bundan sonra DrawMode özelliğini OwnerDrawFixed olarak ayarlamanız gerekir. Sonraki adım, metni soldan sağa işleyen TabControl öğesinin DrawItem olayı için bir işleyici tanımlar.

Örnek formu Designers.cs yılında tabControl_DrawItem yöntemi için

TabControl.DrawItem += new DrawItemEventHandler(tabControl_DrawItem); 

Tanımı file:

private void tabControl_DrawItem(Object sender, System.Windows.Forms.DrawItemEventArgs e) 
    { 
     Graphics g = e.Graphics; 
     Brush _textBrush; 

     // Get the item from the collection. 
     TabPage _tabPage = TabControl.TabPages[e.Index]; 

     // Get the real bounds for the tab rectangle. 
     Rectangle _tabBounds = TabControl.GetTabRect(e.Index); 

     _textBrush = new System.Drawing.SolidBrush(Color.Black); 

     // Use our own font. 
     Font _tabFont = new Font("Arial", (float)12.0, FontStyle.Bold, GraphicsUnit.Pixel); 

     // Draw string. Center the text. 
     StringFormat _stringFlags = new StringFormat(); 
     _stringFlags.Alignment = StringAlignment.Center; 
     _stringFlags.LineAlignment = StringAlignment.Center; 
     g.DrawString(_tabPage.Text, _tabFont, _textBrush, _tabBounds, new StringFormat(_stringFlags)); 
    } 

Efekt: Ben dayanıyordu Ready horizontal tabcontrol

https://msdn.microsoft.com/en-us/library/ms404305(v=vs.110).aspx

İlgili konular