Маркировка растет справа налево

У меня есть маркировка на моей форме, которая является справа от формы. Эта маркировка загружает динамический текст.

Иногда текст, который это загружает, является слишком длинным, и текст пересекает границу формы, которая является частью текста, вне формы.

Я хочу сделать маркировку для роста справа налево вместо слева направо. Как я достигаю этого?

62
задан 10 April 2011 в 22:17

2 ответа

using System.Windows.Forms;

/// <summary>
/// The position of myLabel to the left of the otherControl component when entering 
/// text "s". 
/// You must set myLabel.AutoSize = true
/// </summary>
/// <param name="s">text</param>
void WriteText(string s)
{
    int len = TextRenderer.MeasureText ( s, myLabel.Font ).Width;
    myLabel.Left = otherControl.Left - 5 - len;
    myLabel.Text = s;
}
1
ответ дан 31 October 2019 в 14:03

можно Записать это:

    public enum Leftorright { left,right}
    private Leftorright _LeftToRight = Leftorright.left;
    public Leftorright LeftToRight
    {
        get { return _LeftToRight; }
        set { _LeftToRight = value; }
    }


    protected override void OnTextChanged(EventArgs e)
    {
        int oldWidth;
        oldWidth = this.Width;
        base.OnTextChanged(e);
        if (LeftToRight == Leftorright.right && this.Width != oldWidth)
        {
            this.Left = this.Left - this.Width + oldWidth;
        }
    }
1
ответ дан 31 October 2019 в 14:03

Другие вопросы по тегам:

Похожие вопросы: