मुझे टैबकंट्रोल के शीर्षकों को छिपाने के लिए कुछ तरीका चाहिए (मैं चयनित टैब को प्रोग्रामिक रूप से बदल दूंगा)। मैं यह कैसे कर सकता हूँ?WinForms छुपाएं टैबकंट्रोल हेडर
उत्तर
टैब पैनल को एक पैनल में रखें और इसे ठीक करें ताकि यह शीर्षलेख छुपाए। सबसे आसान पीछे कोड में यह कर (या कि यह करता है एक कस्टम नियंत्रण बनाने) के लिए है: अब
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim bordersize As Integer = 3 'could'nt find this on the control.
Dim ControlSize As New Size(437, 303) ' the size you want for the tabcontrol
Dim ControlLocation As New Point(10, 10) 'location
Dim p As New Panel
p.Size = ControlSize
p.Location = ControlLocation
Me.Controls.Add(p)
Dim t As New TabControl
t.Size = ControlSize
p.Controls.Add(t)
t.Left = -t.Padding.Y
t.Top = -(t.ItemSize.Height + t.Padding.Y)
p.Width = t.Width - t.Padding.X
p.Height = t.Height - (t.ItemSize.Height + t.Padding.Y + bordersize)
t.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Top
AddHandler t.GotFocus, AddressOf ignoreFocus
End Sub
Private Sub ignoreFocus(ByVal sender As Object, ByVal e As System.EventArgs)
Dim t As TabControl = CType(sender, TabControl)
If t.SelectedIndex > -1 Then t.TabPages(t.SelectedIndex).Focus()
End Sub
, अगर आप पैनल का आकार बदलने, TabControl का पालन करेंगे और केवल tabpage-क्षेत्र को दिखाते हैं।
मुझे थोड़ी देर पहले एक ही आवश्यकता थी। मेरा समाधान स्टीफन की तुलना में कुछ सरल था।
tabControl.ItemSize = new Size(0, 1);
tabControl.SizeMode = TabSizeMode.Fixed;
Athough ऊंचाई 1 पिक्सेल करने के लिए सेट किया जा रहा है, हेडर वास्तव में पूरी तरह से गायब हो जाएगा जब आप भी TabSizeMode.Fixed
का उपयोग करें।
इसने मेरे लिए अच्छा काम किया है।
यह सरल दृष्टिकोण अच्छी तरह से काम करता है। यदि आप ऊपर, दाएं और निचले किनारों पर अवांछित सीमाओं को देखते हैं, तो बस टैबएपियरेंस से स्विचिंग। सामान्य से TabAppearance.FlatButtons का ख्याल रखना चाहिए: "tabControl.Appearance = TabAppearance.FlatButtons;" –
उत्तर और टिप ठीक काम किया! – fedeteka
यदि आप इसे डिज़ाइन समय पर करते हैं, तो टैब और alt-tab आपको टैब का उपयोग किए बिना पृष्ठों के बीच स्विच करने की अनुमति देगा। – majjam
अपनी आवश्यकताओं पर निर्भर करता है, आप भी MultiView की एक WinForms संस्करण का उपयोग पर विचार हो सकता:
Public Class MultiView
Inherits Panel
Public Property SelectedIndex As Integer
Get
Return _SelectedIndex
End Get
Set(Value As Integer)
If Value.IsBetween(-1, Me.Controls.Count, InclusionOptions.Exclusive) Then
Me.SelectView(Me.Controls(Value))
Else
_SelectedIndex = -1
End If
End Set
End Property
Private _SelectedIndex As Integer = -1
Public Property SelectedView As UserControl
Get
Return _SelectedView
End Get
Set(Value As UserControl)
If Value IsNot Nothing Then
Me.SelectView(Value)
End If
End Set
End Property
Private _SelectedView As UserControl
Default Public ReadOnly Property Item(Index As Integer) As UserControl
Get
Return Me.Views(Index)
End Get
End Property
Default Public ReadOnly Property Item(Name As String) As UserControl
Get
Return Me.Views.Where(Function(View As UserControl)
Return View.Name.ToLower = Name.ToLower
End Function).SingleOrDefault
End Get
End Property
Public ReadOnly Property Views As List(Of UserControl)
Get
Return Me.Controls.Cast(Of UserControl).ToList
End Get
End Property
Public Sub AddView(View As UserControl)
Me.Controls.Add(View)
View.Dock = DockStyle.Fill
End Sub
Private Sub SelectView(NewView As UserControl)
Me.Controls.Cast(Of UserControl).ToList.ForEach(Sub(OldView As UserControl)
OldView.Visible = OldView Is NewView
If OldView Is NewView Then
OldView.Visible = True
_SelectedView = OldView
_SelectedIndex = Me.Controls.IndexOf(_SelectedView)
Else
OldView.Visible = False
End If
End Sub)
End Sub
End Class
निकालें या यदि आप स्थिति निर्दिष्ट करना चाहते हैं TabPage
void Toggle()
{
if (tabControl1.TabPages.Contains(tabPage1))
tabControl1.TabPages.Remove(tabPage1);
else
tabControl1.TabPages.Add(tabPage1);
}
वैकल्पिक उपयोग TabPages.Insert(index, tabPage)
जोड़ें।
- 1. छुपाएं ExtJS ग्रिड कॉलम हेडर
- 2. प्राइमफेस टेबल कॉलम हेडर छुपाएं
- 3. टैबकंट्रोल
- 4. टैबकंट्रोल
- 5. टैबकंट्रोल
- 6. इनलाइन नेमस्पेस हेडर में निजी स्थिरांक छुपाएं
- 7. टैबकंट्रोल सी # में आइकन - कैसे?
- 8. डब्ल्यूपीएफ टैबकंट्रोल डाटाबेसिंग
- 9. डब्ल्यूपीएफ टैबकंट्रोल
- 10. टैबकंट्रोल सी #
- 11. डब्ल्यूपीएफ: टैबकंट्रोल और डेटा टेम्पलेट्स
- 12. Winforms
- 13. सी # टैबकंट्रोल टैबपेज बदलें
- 14. विंडोज फॉर्म टैबकंट्रोल
- 15. टैबकंट्रोल/टैबपैनल/टैबइटेम
- 16. मैं डब्ल्यूपीएफ में टैबकंट्रोल हेडर को सूची संग्रह कैसे बांध सकता हूं?
- 17. क्या डब्ल्यूपीएफ टैबकंट्रोल में हेडर को बाएं-संरेखित करना संभव है?
- 18. डब्ल्यूपीएफ टैबकंट्रोल चयनित टैब बदलें
- 19. WinForms
- 20. WinForms
- 21. WinForms
- 22. WinForms
- 23. WinForms
- 24. WinForms
- 25. WinForms
- 26. WinForms
- 27. WinForms
- 28. Winforms
- 29. Winforms
- 30. WinForms
आपको अपने टैब के बीच कीबोर्ड नेविगेशन को रोकने के लिए मामलों को संभालने की भी आवश्यकता होगी। – walkingTarget
कीबोर्ड नेविगेशन को रोकने के लिए कोड जोड़ा गया है, यदि टैबcontrol को ध्यान केंद्रित किया गया है तो यह फ़ोकस को सक्रिय टैबपृष्ठ पर रीडायरेक्ट करता है। – Stefan
मैं इसे उपयोगकर्ता नियंत्रण के रूप में जोड़ूंगा और शीर्षलेख छुपाएं/दिखाने के लिए गुण जोड़ूंगा। फिर डिज़ाइनटाइम में नियंत्रण के साथ काम करना आसान है, और उसके बाद हेडर रनटाइम को छुपाएं। – Stefan