【问题标题】:Multiline text display with scrolling in winform c#在winform c#中滚动显示多行文本
【发布时间】:2018-05-30 09:11:57
【问题描述】:

我必须在 C# 中的任何控件中显示多行消息,这为我提供了以下 3 种可能性:

  1. 滚动
  2. 无法修改文本
  3. 点击事件

我尝试了以下选项并遇到了问题:

标签:标签非常适合我,但我找不到滚动属性

文本框: 我尝试使用文本框,它提供了滚动功能,但随后用户可以更改文本。如果我设置TextBox.Enable = False,则滚动条无法移动,如下图所示:

【问题讨论】:

  • 文本框也有一个ReadOnly 属性
  • @JayV:我设置了ReadOnly = True,但用户仍然可以单击它,然后光标出现(我不想显示光标)。
  • 移除光标意味着没有基于键盘的导航 - 只有鼠标。鉴于很多人更喜欢或喜欢使用键盘导航,这是您真正想做的吗?不突出显示或复制文本框中的文本
  • @JayV:它只是在触摸屏上显示消息。我想将此 TextBox 显示为标签(具有滚动功能)。正如我在帖子中所说,如果我可以在其中启用滚动,Label 对我来说是完美的。
  • 或者,看看这个 SO 问题/答案:stackoverflow.com/questions/3730968/…

标签: c# winforms window


【解决方案1】:

Textbox 属性上,您可以在Text 属性上添加新行,方法是单击下拉箭头(见下图)并按键盘上的回车键。

添加新行并设置Textbox.Readonly = false 并设置首选滚动后将解决您的问题。然后只需调整文本框以仅显示滚动条。

【讨论】:

    【解决方案2】:

    如果您显示消息,请使用列表框。它使您可以滚动,您无法编辑消息,并且看起来更专业。您安装的大多数应用程序都会看到条款和协议。它通常在列表框中。

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多