[英]How to move scroll bar up by one line? (In C# RichTextBox)
對於我的C#RichTextBox,我想以編程方式執行與單擊垂直滾動條頂部的向上箭頭相同的操作,這會將RichTextBox顯示向上移動一行。 這是什么代碼? 謝謝!
這是我做的:
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
static extern int SendMessage(IntPtr hWnd, uint wMsg,
UIntPtr wParam, IntPtr lParam);
然后打電話:
SendMessage(myRichTextBox.Handle, (uint)0x00B6, (UIntPtr)0, (IntPtr)(-1));
似乎工作正常 - 但你可能需要稍微調整一下。
希望有所幫助。
為了將來參考,EM_LINESCROLL消息是您發送到任何多行編輯控件以設置滾動位置的消息。 您可以垂直或水平滾動。 有關詳細信息,請參閱MSDN
您還可以使用Rich Edit Selection方法設置字符索引(可以使用EM_LINEINDEX獲得),然后調用RichEdit.ScrollToCaret,即:
RichEdit.SelectionStart = SendMessage(RichEdit.Handle, EM_LINEINDEX, ScrollTo, 0);
RichEdit.ScrollToCaret();
這會將該行滾動到編輯控件的頂部。
window.scrollBy(0,20);
這將滾動窗口。 20是我過去使用的近似值,通常等於一行...但當然字體大小可能會影響一行的實際距離。
如果您可以獲得富文本框的滾動控件,您應該能夠獲取其SmallChange屬性並使用它來滾動文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.