【问题标题】:C# text marquee ticker with wrap带有换行的 C# 文本选取框
【发布时间】:2014-07-17 04:00:49
【问题描述】:
我正在尝试为到达控件末尾时自动换行的文本制作一个选取框(或自动收报机)控件。我看过很多例子,我已经能够制作一个带有标签的例子,但我想不出让它将文本包装到另一侧的最佳方法。我看到了一个例子,但它不断地操纵一个字符串,我只是不喜欢这样浪费内存的想法。
【问题讨论】:
标签:
c#
winforms
marquee
continuous
ticker
【解决方案1】:
创建一个由 WebBrowser 控件继承的 CustomUserControl,然后在更改 Text 属性时将 <HTML> 内容分配给该浏览器控件。
public partial class UserControl1 : WebBrowser
{
private string _text = string.Empty;
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override String Text
{
get
{
return _text;
}
set
{
_text = value;
this.DocumentText = getContent(_text);
}
}
private string getContent(string _value)
{
return string.Format("<HTML><marquee>{0}</marquee></HTML>", _value);
}
public UserControl1()
{
InitializeComponent();
}
}