16,718
社区成员
发帖
与我相关
我的任务
分享
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid Height="253">
<ScrollViewer HorizontalScrollBarVisibility="Auto" Height="100">
<StackPanel Margin="10,10,13,0" Name="Panel1" Height="auto" VerticalAlignment="Top" HorizontalAlignment="Left">
<RichTextBox Height="5000" Name="RichTextBox1" Width="212" HorizontalAlignment="Left" VerticalAlignment="Top" />
<RichTextBox Height="auto" Name="RichTextBox2" Width="212" HorizontalAlignment="Left" VerticalAlignment="Top" />
<RichTextBox Height="auto" Name="RichTextBox3" Width="212" HorizontalAlignment="Left" VerticalAlignment="Top" />
<RichTextBox Height="auto" Name="RichTextBox4" Width="212" HorizontalAlignment="Left" VerticalAlignment="Top" />
</StackPanel>
</ScrollViewer>
</Grid>
</Window> '高度200的Panel内放了一个高200的RitchTextBox,用Button来增高'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Debug.Print(" {0},{1}", Me.Panel1.VerticalScroll.Value, Me.Panel1.VerticalScroll.Maximum)
Me.RichTextBox1.Height += 10
Me.Panel1.VerticalScroll.Value = Me.Panel1.VerticalScroll.Maximum - 199
Me.Panel1.VerticalScroll.Value = Me.Panel1.VerticalScroll.Maximum - 199
Debug.Print("->{0},{1}", Me.Panel1.VerticalScroll.Value, Me.Panel1.VerticalScroll.Maximum)
End Sub
Private Sub NetSTLControl_MyContentsResized(ByVal sender As Object, ByVal e As ContentsResizedEventArgs)
“计算方法省略
'判断光标是否出界
If panelY - controlY > 20 Then
bContains = True
Else
bContains = False
End If
If bContains = False Then
Me.Panel1.VerticalScroll.Value += _scrollValue
Me.Panel1.VerticalScroll.Value += _scrollValue
End If
End Sub
昨天写了一个功能判断RichTextBox里的插入光标是否超出Panel的显示范围,如果超出就将Panel1的滚轮值变大, 但是赋值后这个值一直不变