gpt4 book ai didi

c# - 如何找到可调整大小/滚动文本框中显示的子字符串的索引?

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:04 24 4
gpt4 key购买 nike

我正在计划一个 C# 应用程序,其中一些相当大的字符串将显示在可滚动/可调整大小的文本框中。

当用户关闭应用程序并稍后返回时,我想从它们在 lostFocus 上显示的位置重新显示这些字符串。

有没有办法获取文本框中显示的第一个字符在全文中的索引?

最佳答案

这两个应该可以帮助您获得插入符号的位置。在关闭应用程序之前获取插入符位置,然后使用 SelectionStart 属性将其重新设置:

textBox1.SelectionStart;
textBox1.SelectionLength;

编辑:这有效,刚刚测试过,正如我所说,使用 SelectionStart 属性和 ScrollToCaret() 方法很重要。您必须获取第一个可见的字符的索引,为此您应该使用 TextBox 中的 GetCharIndexFromPosition() 方法:

        int selectionStart;

private void button1_Click(object sender, EventArgs e)
{
Graphics g = textBox1.CreateGraphics();
SizeF size = g.MeasureString("A", textBox1.Font);
g.Dispose();
int index = textBox1.GetCharIndexFromPosition(new Point(0, (int)(2 * size.Height + 0.5)));
selectionStart = index;
}

private void button3_Click(object sender, EventArgs e)
{
textBox1.SelectionStart = selectionStart;
textBox1.ScrollToCaret();
}

关于c# - 如何找到可调整大小/滚动文本框中显示的子字符串的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com