Плавающий текст в Label

244
19 мая 2017, 12:46

В случае если текст длиннее чем Label, как сделать так, чтобы этот текст плыл в левую сторону, потом появлялся снова и после небольшой паузы снова начинал плыть? Как в новостной строке.

Answer 1

Бегущая строка на Windows Forms создается через Panel,Timer и Label. Создайте эти 3 контрола (нужный вам текст напишите в Label) саму Label поместите в Panel как на рисунке (за пределы панели label не выйдет)

Код :

   private void timer1_Tick(object sender, EventArgs e)
    {
        if (label1.Left > -label1.Width)
        {
            label1.Left -= 5;
        }
        else
        {
            label1.Left = panel1.Width;
        }
    }

для выбора в Label текста из ListBox :

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        label1.Text = listBox1.SelectedItem.ToString();
        if (label1.Text.Length > 10) // сравнение между количеством символов и некоторым значением, которое отражает ширину panel1
        {
            timer1.Start();
        }
        else
        {
            timer1.Stop();
            label1.Location = new Point(0,0); // label должен находится внутри panel
        }
    }

Не забудьте

    label1.AutoSize = true
READ ALSO
c# ошибка в приложении

c# ошибка в приложении

При нажатии кнопки выходит ошибка:

206
Изменений содержимого окна по кнопкам

Изменений содержимого окна по кнопкам

ЗдравствуйтеНеобходимо разделить форму на 3 части

230
Как сделать ссылку на email рабочей (windows phone 8.1)?

Как сделать ссылку на email рабочей (windows phone 8.1)?

Я вывожу в TextBlock адрес электронной почтыКак сделать, чтобы при нажатии на него открывалось окно создания нового письма?

227