如何在richTextBox中添加新行?

莎朗·利普曼内(Sharon Lipmanel)

我有一个鼠标按下事件,我正在将文本写入richTextBox:

private void pictureBoxSnap_MouseDown(object sender, MouseEventArgs e)
        {
            richTextBox1.Text += "Rectangle Location: " + e.Location + Environment.NewLine;
            Bitmap bmp;
            Point pnt;

            if (e.Button == MouseButtons.Right)
            {
                cm.Show(pictureBoxSnap, e.Location);

                return;
            }

            if (e.Button == MouseButtons.Left)
            {
                if (checkError(listBox1.SelectedIndex, "pictureBoxSnap_MouseDown") == true) { return; } //if listBox1 empty

                if (isCroppedList[listBox1.SelectedIndex] == true) { return; }

                mouseDown = e.Location;

                if (canDrawNormallyList[listBox1.SelectedIndex] == false)
                {
                    bmp = new Bitmap(pictureBoxSnap.Width - 4, pictureBoxSnap.Height - 4);

                    pnt = PointToScreen(pictureBoxSnap.Location);

                    g = Graphics.FromImage(bmp);

                    g.CopyFromScreen(pnt.X + 2, pnt.Y + 2, 0, 0, new Size(bmp.Width, bmp.Height));

                    g.Dispose();

                    windowsBitmaps[listBox1.SelectedIndex] = bmp;
                }
                else
                {
                    if (thumb != IntPtr.Zero)
                    {
                        MessageBoxButtons buttons = MessageBoxButtons.OK;
                        MessageBoxIcon icon = MessageBoxIcon.Error;

                        MessageBox.Show("ERROR in pictureBoxSnap_MouseDown: thumb != IntPtr.Zero", "ERROR", buttons, icon);

                        this.Close();
                    }
                }
            }
        }

在鼠标按下事件中,我正在编写矩形的位置。

然后在DrawRectangle方法中,我想实时在richTextBox1中显示矩形的大小:

private void DrawRectangle(Point pnt)
        {
            g = Graphics.FromImage(img);

            g.Clear(Color.FromKnownColor(KnownColor.Control));

            if (pnt.X == mouseDown.X || pnt.Y == mouseDown.Y)
            {
                g.DrawLine(Pens.Firebrick, mouseDown.X, mouseDown.Y, pnt.X, pnt.Y);
            }
            else
            {
                g.DrawRectangle(Pens.Firebrick, Math.Min(mouseDown.X, pnt.X), Math.Min(mouseDown.Y, pnt.Y),
                            Math.Abs(mouseDown.X - pnt.X), Math.Abs(mouseDown.Y - pnt.Y));
                richTextBox1.Text = "Rectangle Size: " + Math.Abs(mouseDown.X - pnt.X) +
                    Math.Abs(mouseDown.Y - pnt.Y);
            }

            g.Dispose();

            g = frm.CreateGraphics();

            g.DrawImage(img, 0, 0, img.Width, img.Height);

            g.Dispose();
        }

现在的问题是,当我按下鼠标左键单击鼠标时,我看到了位置,但是当我左右移动鼠标时,它在位置线周围被拖动了,而我看到了尺寸线。如果在DrawRectangle方法中我也使+ =,则只是在我多次移动/拖动鼠标aorund时多次添加了大小行,从而用整个填满了richTextBox。

西蒙·怀特黑德

您需要每次附加。您当前正在做的是覆盖已经存在的文本。

这:

richTextBox1.Text = "Rectangle Location: " + e.Location + Environment.NewLine;

..说:“ richtextbox文本的值必须仅是我提供的值。

但是,这是:

richTextBox1.Text += "Rectangle Location: " + e.Location + Environment.NewLine;
//               ^^^^ append

..说:“ richtextbox文本必须是当前的文本……加上这些额外的内容。”

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在RichTextBox中添加新行而不将最后一行保留为空白?

来自分类Dev

您如何在 RichTextBox 中的代码中的特定文本的新行上添加新文本?

来自分类Dev

如何在文件中添加新行

来自分类Dev

如何在FormattedString中添加新行

来自分类Dev

如何在HTML中添加新行?

来自分类Dev

如何在文件中添加新行?

来自分类Dev

如何在文件中添加新行

来自分类Dev

如何在Silverlight RichTextBox中添加表格?

来自分类Dev

如何在新行后不留空格/空行的情况下向richTextBox 添加新行?

来自分类Dev

如何在不删除RichTextBox中的文本的情况下添加新行并在VB.Net中更改其颜色?

来自分类Dev

如何在文件中的行之间添加新行?

来自分类Dev

如何在bash中的文件中添加新行?

来自分类Dev

如何在 C# 中的 Datagridview 中添加新行?

来自分类Dev

如何在Richtextbox的每一行的开头添加字符

来自分类Dev

Yup模式:如何在错误消息中添加新行

来自分类Dev

如何在新行中添加复选框项?

来自分类Dev

如何在mysql中添加按新组分组的行?

来自分类Dev

如何在xpath表达式中添加新行?

来自分类Dev

如何在时间序列数据框中添加新行

来自分类Dev

如何在HTML表格中添加新行

来自分类Dev

如何在jQuery生成的CSV中添加新行?

来自分类Dev

如何在文本文档中添加新行

来自分类Dev

如何在Java中为jTable添加新行

来自分类Dev

如何在mysql中添加按新组分组的行?

来自分类Dev

如何在Gtk textview中添加新行?

来自分类Dev

如何在引导模态框中添加新行

来自分类Dev

如何在LLVM传递中添加新的代码行?

来自分类Dev

如何在shell脚本中添加新行

来自分类Dev

如何在python图中的悬停标签中添加新行?

Related 相关文章

热门标签

归档