क्या टेक्स्ट बॉक्स में लाइन गिनती प्रदर्शित होने वाली लाइनों की संख्या से अधिक होने पर केवल स्क्रॉल बार को स्क्रॉल बार को दिखाना/छिपाना संभव है?सामग्री को सीमाओं से परे होने पर टेक्स्टबॉक्स में स्क्रॉल बार प्रदर्शित करें C#
उत्तर
RichTextBox उपयोग करने पर विचार - यह है कि व्यवहार में बनाया गया है
आज़ आज़ ऑस्टिन का प्रयास करें। कभी-कभी सबसे स्पष्ट समाधान सबसे अच्छे होते हैं :) – Anders
संपत्ति को जोड़ने के लिए मत भूलना ScrollViewer.VerticalScrollBarVisibility = RichTextBox – Smile4ever
Public Class TextBoxScrollbarPlugin
Private WithEvents mTarget As TextBox
''' <summary>
''' After the Handle is created, mTarget.IsHandleCreated always returns
''' TRUE, even after HandleDestroyed is fired.
''' </summary>
''' <remarks></remarks>
Private mIsHandleCreated As Boolean = False
Public Sub New(item As TextBox)
mTarget = item
mIsHandleCreated = mTarget.IsHandleCreated
End Sub
Private Sub Update()
If Not mTarget.IsHandleCreated Then
Return
ElseIf Not mIsHandleCreated Then
Return
End If
Dim textBoxRect = TextRenderer.MeasureText(mTarget.Text,
mTarget.Font,
New Size(mTarget.Width, Integer.MaxValue),
TextFormatFlags.WordBreak + TextFormatFlags.TextBoxControl)
Try
If textBoxRect.Height > mTarget.Height Then
mTarget.ScrollBars = ScrollBars.Vertical
Else
mTarget.ScrollBars = ScrollBars.None
End If
Catch ex As System.ComponentModel.Win32Exception
'this sometimes throws a "failure to create window handle"
'error.
'This might happen if the TextBox is unvisible and/or
'to small to display a toolbar.
If mLog.IsWarnEnabled Then mLog.Warn("Update()", ex)
End Try
End Sub
Private Sub mTarget_HandleCreated(sender As Object, e As System.EventArgs) Handles mTarget.HandleCreated
mIsHandleCreated = True
End Sub
Private Sub mTarget_HandleDestroyed(sender As Object, e As System.EventArgs) Handles mTarget.HandleDestroyed
mIsHandleCreated = False
End Sub
Private Sub mTarget_SizeChanged(sender As Object, e As System.EventArgs) Handles mTarget.SizeChanged
Update()
End Sub
Private Sub mTarget_TextChanged(sender As Object, e As System.EventArgs) Handles mTarget.TextChanged
Update()
End Sub
End Class
Private mPlugins As New List(Of Object)
Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
mPlugins.Add(New TextBoxScrollbarPlugin(txtBoxOne))
mPlugins.Add(New TextBoxScrollbarPlugin(txtBoxTwo))
mPlugins.Add(New TextBoxScrollbarPlugin(txtBoxThree))
End Sub
पर "ऑटो" उन लोगों के लिए जिन्हें टेक्स्टबॉक्स का उपयोग करना होगा (जैसे मुझे यह एक कस्टम नियंत्रण था) उपर्युक्त जवाब ठीक काम करता प्रतीत होता है। मुझे लगता है कि मुझे इसे + के साथ बदलना था या इसे थोड़ा सा बनाना था और मैंने textbox.wordwrap मान पर शब्दकोष को सशर्त बनाया। उम्मीद है की वो मदद करदे। – Tim
धन्यवाद डमी, यह काम करता है।! सी # में डमी जवाब का यहाँ लघु संस्करण
कॉल इस कोड को अपने SizeChanged के अंत में और TextChanged संचालकों:
Size textBoxRect = TextRenderer.MeasureText(
this.YourTextBox.Text,
this.YourTextBox.Font,
new Size(this.YourTextBox.Width, int.MaxValue),
TextFormatFlags.WordBreak | TextFormatFlags.TextBoxControl);
try
{
this.YourTextBox.ScrollBars = textBoxRect.Height > this.YourTextBox.Height ?
ScrollBars.Vertical :
ScrollBars.None;
} catch (System.ComponentModel.Win32Exception)
{
// this sometimes throws a "failure to create window handle" error.
// This might happen if the TextBox is unvisible and/or
// too small to display a toolbar.
}
मैं tnimas समाधान vb में काम मिल गया है। लिखित के रूप में कार्य अच्छी तरह से लिखा है और मैंने त्रुटियों को नहीं देखा है।
Private Sub TextBoxSizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Dim textBoxRect As Size = TextRenderer.MeasureText(TextBox.Text, TextBox.Font, New Size(TextBox.Width, Integer.MaxValue), TextFormatFlags.WordBreak Or TextFormatFlags.TextBoxControl)
Try
TextBox.ScrollBar = If(textBoxRect.Height > TextBox.Height, ScrollBars.Vertical, ScrollBars.None)
Catch ex As Exception
'handle error
End Try
End Sub
- 1. संपादन से टेक्स्टबॉक्स को अक्षम कैसे करें?
- 2. UITextView के लिए हमेशा स्क्रॉल-बार कैसे प्रदर्शित करें?
- 3. सीमाओं से बाहर होने पर पैन जेस्चर को अक्षम करना
- 4. स्क्रॉल प्रकट होने पर पृष्ठ सामग्री को शिफ्ट से कैसे रोकें?
- 5. मुख्य विंडो सीमाओं के बाहर/बाहर wpf सामग्री प्रदर्शित करना
- 6. सीएसएस - क्षैतिज स्क्रॉल बार के साथ छवियों को प्रदर्शित करना
- 7. एंड्रॉइड में शीर्ष पर WebView को स्क्रॉल कैसे करें?
- 8. एक अक्षम टेक्स्टबॉक्स के ForeColor को C#
- 9. प्रसंस्करण समय पर प्रगति बार प्रदर्शित करें
- 10. सी # - टेक्स्टबॉक्स खाली होने पर संकेत दिखाने के लिए टेक्स्टबॉक्स में टेक्स्ट कैसे सेट करें?
- 11. आवश्यक होने पर लंबवत स्क्रॉल बार को छिपाने के लिए कैसे करें
- 12. कैच टेक्स्टबॉक्स स्क्रॉल इवेंट?
- 13. डब्ल्यूपीएफ टेक्स्टबॉक्स और स्क्रॉल व्यवहार
- 14. स्क्रॉल सामग्री
- 15. UIView सीमाओं से बाहर होने पर बच्चों के विचार छुपाएं
- 16. पेज सामग्री प्रदर्शित होने से पहले greasemonkey स्क्रिप्ट कैसे चलाएं?
- 17. दोहराने के भीतर टेक्स्टबॉक्स से मूल्य प्राप्त करें asp.net C#
- 18. Jquery, स्क्रॉल बार
- 19. स्क्रॉल सक्षम होने पर 'getDrawingCache` को वापस लौटाता है
- 20. साइट सामग्री लोड होने पर लोडिंग स्क्रीन को प्रदर्शित करने के लिए कैसे करें
- 21. हमेशा अच्छा स्क्रॉल रेल प्रदर्शित करें
- 22. Jquery अनंत स्क्रॉल - div पर शरीर पर स्क्रॉल बार नहीं
- 23. एंड्रॉइड पर स्टेटस बार में अनिश्चित प्रगति पट्टी प्रदर्शित करें
- 24. टेक्स्टबॉक्स में पेस्ट सामग्री बदलें
- 25. पूरे पृष्ठ को लोड होने से पहले लोडिंग बार प्रदर्शित करें
- 26. सी # एप्लिकेशन शुरू होने पर कई रूपों को प्रदर्शित करें
- 27. आसन्न सूची बॉक्स पर स्क्रॉल बार को एक साथ जोड़ना
- 28. एंड्रॉइड: कैनवास की सामग्री को कुशलता से स्क्रॉल करना?
- 29. सामग्री खाली होने पर div को छुपाएं
- 30. एनएसएमयूटेबलएरे के सम्मिलित करें ऑब्जेक्ट्स: एन्डेक्स और इंडेक्स सीमाओं से परे
दुर्भाग्य से नहीं। आप स्क्रॉल बार को क्षैतिज, लंबवत, या दोनों पर सेट कर सकते हैं लेकिन आवश्यक होने पर/छुपाएं नहीं। – Anders
जो केवल बेसिक टेक्स्टबॉक्स में है - RichTextBox – Cullub