【问题标题】:Determine which line is clicked in richtextbox确定在richtextbox中点击了哪一行
【发布时间】:2021-10-11 09:03:10
【问题描述】:

我对 windows 窗体比较陌生,目前正在制作和应用,但我遇到了一个问题。我希望确定在富文本框中单击了哪一行。我正在使用以下代码:

private void richTextBox1_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                var charPosition = richTextBox1.GetCharIndexFromPosition(Mouse.GetPosition(richTextBox1));
                var linePosition = richTextBox1.GetLineFromCharIndex(charPosition);
            }
        }

我似乎无法弄清楚的唯一部分是 relativeTo 参数(无法从 'System.Windows.Forms.RichTextBox' 转换为 'System.Windows.IInputElement' 错误)。我该怎么办?

【问题讨论】:

标签: c# winforms mouse richtextbox


【解决方案1】:

如果您使用的是 WinForms(看起来很可疑),请使用 MouseDown 事件:

private void RichTextBox1_MouseDown(object sender, MouseEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    int p = richTextBox1.GetCharIndexFromPosition(e.Location);
    int line = richTextBox1.GetLineFromCharIndex(p);
    // code...
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2016-10-22
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多