我正在处理使用RichtextBox
,Menustrip
和更多控件的Windows窗体应用程序。
我做了一些工作,但无法让它发挥作用。当我的鼠标光标在RichTextBox中移动时,我想要更改自动更改位置,就像在简单的记事本上一样。
我的位编码是......
我希望如此,当我的鼠标光标移动时,它会改变状态栏上的动态位置
private void sizeToolStripMenuItem_Click(object sender, EventArgs e)
{
int line = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
int column = richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexFromLine(line);
toolStripStatusLabel5.Text ="Line"+" "+ line.ToString();
toolStripStatusLabel6.Text = " Column" + " " + line.ToString();
toolStripStatusLabel3.Text= Cursor.Position.ToString(); // where is my mouse cursor at this Time like that x and y cordinate 330,334
}
答案 0 :(得分:3)
显示您的线路。 代码如下:::: ----
private void Key_Down(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
int line = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
int column = richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexFromLine(line);
toolStripStatusLabel5.Text = "Line" + " " + line.ToString();
toolStripStatusLabel6.Text = " Column" + " " + column.ToString();
toolStripStatusLabel3.Text = Cursor.Position.ToString(); // where is my mouse cursor at this Time like that x and y cordinate 330,334
Update();
}
}
答案 1 :(得分:1)
您可以订阅RichTextBox
MouseMove
事件,以使用当前鼠标位置更新ToolStrip
标签
示例:
private void richTextBox1_MouseMove(object sender, MouseEventArgs e)
{
toolStripStatusLabel3.Text = string.Format("X={0}, Y={1}", e.X, e.Y);
}
或者如果您希望它显示与RichTextBox
相关的位置,您可以使用Location
中的MouseEventArgs
,这将返回RichTextBox
内的位置( topleft of textbox = 0,0)
private void richTextBox1_MouseMove(object sender, MouseEventArgs e)
{
toolStripStatusLabel3.Text = string.Format("X={0}, Y={1}", e.Location.X, e.Location.Y);
}
答案 2 :(得分:1)
如果要自动更新位置,则应使用richtextbox中的MouseMove事件。当您移动鼠标时,它总是在更新。此外,来自MouseMove调用的“MouseEventArgs e”可以为您提供richtextbox中的光标位置。
答案 3 :(得分:1)
我已经在StackoverFlow和甜蜜的用户(程序员)的帮助下完成了。 谢谢你的答复。我的代码是
private void richTextBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int line = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
int column = richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexFromLine(line);
toolStripStatusLabel5.Text = "Line" + " " + line.ToString();
toolStripStatusLabel6.Text = " Column" + " " + line.ToString();
toolStripStatusLabel3.Text = Cursor.Position.ToString(); // where is my mouse cursor at this Time like that x and y cordinate 330,334
Update();
}
}