Excel VBA TextBox控件的滚动条不能刷新

问题:Excel中Textbox控件以及Form里的Textbox控件,当直接填充的内容很长时,滚动条不能实时刷新。

现象:

修改后:

原因:

虽然已经向Textbox的Text里设置了内容,但此时Textbox并没有被激活,焦点也没有变化,所以,Textbox的滚动条没有被刷新出来。

修改后的VBA程序:

-----------------------ActiveX Textbox--------------------------

Private Sub CommandButton1_Click()

    TextBox1.Value = "safdasfgsdfgfhfgjhfjfghjfhjfg" _
                    & Chr(10) _
                    & "1234567890" _
                    & Chr(10)

‘    IF the text length is long enough, ENABLE the Textbox‘s scroll bar
    TextBox1.Activate
‘    Set the current select line: 0
    TextBox1.CurLine = 0

End Sub

-----------------------Form Textbox--------------------------

Private Sub CommandButton1_Click()

    TextBox1.Value = "safdasfgsdfgfhfgjhfjfghjfhjfg" _
                    & Chr(10) _
                    & "1234567890" _
                    & Chr(10)

‘    IF the text length is long enough, ENABLE the Textbox‘s scroll bar
    TextBox1.SetFocus
‘    Set the current select line: 0
    TextBox1.SelStart = 0

End Sub

知识点:

ActiveX Textbox中的 TextBox1.Activate 和 Form Textbox的 TextBox1.SetFocus功能相同

时间: 2024-07-29 09:50:56

Excel VBA TextBox控件的滚动条不能刷新的相关文章

WPF编程:textbox控件文本框数据显示最后一行

TextBox控件在接收大量数据的时候,滚动条一般在最上方,如何使滚动条随着数据的接收而向下滚动呢?比如有一个TextBox'控件txbRecvData,按下面的语句就可以了: this.txbRecvData.ScrollToLines(this.txbRecvData.LineCount - 1); WPF TextBox背景提示文字http://www.cnblogs.com/by-lhc/p/7213710.html?utm_source=itdadao&utm_medium=refer

TextBox 控件

TextBox控件上有一个箭头,MultiLine属性,是多行显示 TextBox控件有System.Windows.TextBox类提供,提供了基本的文本输入和编辑功能           属性 AcceptsRetun控制按下回车键时显示是换行还是激活按钮 false换行false是激活 CharacterCasing字母的大小写lower(小写)upper(大写)Nrmal(正常) MaxLength最大的字符长度 MultiLine控制是否多行显示  true是 false不是 Pass

TextBox控件的DataBindings属性

DataBindings属性是很多控件都有的属性,作用有2方面.一方面是用于与数据库的数据进行绑定,进行数据显示.另一方面用于与控件或类的对象进行数据绑定.这里主要关注后者.主要用法是将某个对象的某个属性与指定对象的指定属性进行关联. Label.TextBox等都包含DataBindings属性,其类型为ControlBindingsCollection,是Binding类的集合.Binding类代表某对象属性值和某控件属性值之间的简单绑定.如可以将TextBox的Text属性值绑定到Labe

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法 当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内

C#中设置TextBox控件中仅可以输入数字且设置上限

首先设置只可以输入数字: 首先设置TextBox控件的KeyPress事件:当用户按下的键盘的键不在数字位的话,就禁止输入 1 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 2 { 3 if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))//如果不是输入数字就不让输入 4 { 5 e.Handled = true; 6 } 7 } 设置上限: 设置TextBox

MFC编程入门之二十六(常用控件:滚动条控件ScrollBar)

回顾上一节,讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条.滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种.滚动条中有一个滚动块,用于标识滚动条当前滚动的位置.我们可以拖动滚动条,也可以用鼠标点击滚动条某一位置使滚动块移动. 从

C# TextBox控件只能输入数字

只需要在控件TextBox的keypress事件中写入如下代码即可满足要求: 代码如下: if (e.KeyChar == '.' && this.txbEnd.Text.IndexOf(".") != -1) { e.Handled = true; } if (!((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == '.' || e.KeyChar == 8)) { e.Handled

验证标题是否存在(TextBox控件失去焦点验证)

首先解释两个属性, AutoPostBack 属性用于设置或返回当用户在 TextBox 控件中按 Enter 或 Tab 键时,是否发生自动回传到服务器的操作. 如果把该属性设置为 TRUE,则启用自动回传,否则为 FALSE.默认是 FALSE. ontextchanged:失去焦点可以出发事件的一个东西 <asp:TextBox ID="txtTitle" runat="server" Width="400px" Validation

C#:TextBox控件操作类

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 using System; using System.Collecti