C#具有文本结尾优先级

C#具有文本结尾优先级,c#,textbox,label,C#,Textbox,Label,我连接了一个字符串,这个字符串的长度有时足以使它不适合label控件。如何使其自动滚动到右侧,以便始终看到字符串的结尾?该属性允许您指定对齐方式。如果您用这个右对齐,文本的右侧将始终可见。但是,如果您希望左对齐或居中对齐,并且仍然具有您描述的行为,我怀疑您需要使用执行一些测量,以确定文本是否适合并动态更改对齐方式。该属性允许您指定对齐方式。如果您用这个右对齐,文本的右侧将始终可见。但是,如果您希望左对齐或居中对齐,并且仍然具有您描述的行为,我怀疑您需要使用进行一些测量,以确定文本是否适合并动态更

我连接了一个字符串,这个字符串的长度有时足以使它不适合label控件。如何使其自动滚动到右侧,以便始终看到字符串的结尾?

该属性允许您指定对齐方式。如果您用这个右对齐,文本的右侧将始终可见。但是,如果您希望左对齐或居中对齐,并且仍然具有您描述的行为,我怀疑您需要使用执行一些测量,以确定文本是否适合并动态更改对齐方式。

该属性允许您指定对齐方式。如果您用这个右对齐,文本的右侧将始终可见。但是,如果您希望左对齐或居中对齐,并且仍然具有您描述的行为,我怀疑您需要使用进行一些测量,以确定文本是否适合并动态更改对齐方式。

AFAIK无法滚动标签。一种方法是使用文本框(只读,关闭边框),然后使用SendKeys.Send()将光标移动到文本的末尾。比如:

        textBox1.Focus();
        SendKeys.SendWait("{END}");

要使文本不显示为选中文本,我必须更改其在选项卡顺序中的位置(使其不是1),但这在您的情况下可能不是问题。

AFAIK无法滚动标签。一种方法是使用文本框(只读,关闭边框),然后使用SendKeys.Send()将光标移动到文本的末尾。比如:

        textBox1.Focus();
        SendKeys.SendWait("{END}");

要使文本不显示为选中文本,我必须更改其在选项卡顺序中的位置(使其不是1),但在您的情况下,这可能不是问题。

虽然我肯定有办法,但我必须问,为什么?我认为它看起来和/或工作非常糟糕,可能会让用户感到困惑

为什么不在文本末尾用椭圆(…)修剪,并在标签上显示工具提示

using System.Windows.Forms;

var label = new Label();
label.AutoSize = false;
label.AutoEllipsis = true;
label.Text = "This text will be too long to display all together.";

var labelToolTip = new ToolTip();
labelToolTip.SetToolTip(label, label.Text);

现在,当用户将鼠标悬停在工具提示上时,工具提示将显示全文。由于标签中的文本将被截断并以椭圆结尾,用户应该知道将鼠标悬停在上方以获取更多信息(通常是标准方式)。

虽然我肯定有办法,但我不得不问,为什么?我认为它看起来和/或工作非常糟糕,可能会让用户感到困惑

为什么不在文本末尾用椭圆(…)修剪,并在标签上显示工具提示

using System.Windows.Forms;

var label = new Label();
label.AutoSize = false;
label.AutoEllipsis = true;
label.Text = "This text will be too long to display all together.";

var labelToolTip = new ToolTip();
labelToolTip.SetToolTip(label, label.Text);
现在,当用户将鼠标悬停在工具提示上时,工具提示将显示全文。由于标签中的文本将被截断并以椭圆结尾,用户应该知道将鼠标悬停在上方以获取更多信息(通常是标准方式)