【问题标题】:Adding rule lines to lines in a text box (multi line)向文本框中的行添加规则行(多行)
【发布时间】:2015-07-08 08:49:27
【问题描述】:

有人知道将规则行添加到多行文本框控件的方法吗?

我在想每行文字下方的书写板样式淡蓝色线条,填充整个控件。 (不仅仅是在富文本框中输入的内容下划线。)

就像一个空白的大文本框,它看起来相当平淡。我想有人可能知道自定义控件,或者知道在每个文本行下画一条线的方法。

干杯。

【问题讨论】:

  • TextBox 控件不允许混合图形和文本。它不是远程 Web 浏览器或文字处理器。您可以通过选择 Unicode 字符使文本看起来像一条线,ChrW(&H2500) 可以完成工作。如果你也想改变颜色,那么你需要 RichTextBox。
  • 你是在网页/桌面上做的吗??
  • 桌面。 VB WinForms。那个 chr 可能是一个很好的起点,最后有一些东西从字符串中删除了实例。值得深思。

标签: vb.net visual-studio-2012 textbox multiline


【解决方案1】:

只是我整理的一个快速示例,应该可以帮助您入门:

Public Class Form1

    Private g As Graphics
    Private x As Long
    Private lineHeight As Long

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        g = Me.CreateGraphics()
        lineHeight = 20
    End Sub

    Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
        g.Dispose()
        g = TextBox1.CreateGraphics()

        For counter As Long = lineHeight To TextBox1.Height Step lineHeight
            g.DrawLine(Pens.LightBlue, 0, counter, TextBox1.Width, counter)
        Next

    End Sub
End Class

我将不再计算 lineHeight 的值以及如何选择在哪里绘制第一条线(另外,不要忘记左侧边距的垂直规则)

HTH,
埃里克

【讨论】:

  • @Josh 很高兴我能帮上忙。请记住,这只是一个快速原型并且有很多问题。要真正做到这一点,您需要获取此块并在自定义用户控件中使用您想要的任何其他逻辑将其包装起来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 2018-07-29
  • 2017-09-05
  • 2014-07-21
相关资源
最近更新 更多