используя элемент управления Label для создания цикличного текста в c # winform - PullRequest
0 голосов
/ 30 ноября 2011

Я создал текст Marquee, используя элемент управления Label, это пример кода

public partial class FrmMarqueeText : Form
{
    private int xPos = 0, YPos = 0;

    public FrmMarqueeText()
    {
        InitializeComponent();
    }

    private void FrmMarqueeText_Load(object sender, EventArgs e)
    {

            lblText.Text = "Hello this is marquee text";
            xPos = lblText.Location.X;
            YPos = lblText.Location.Y;
            timer1.Start();


    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        if (xPos == 0)
        {

            this.lblText.Location = new System.Drawing.Point(this.Width, YPos);
            xPos = this.Width;
        }
        else
        {
            this.lblText.Location = new System.Drawing.Point(xPos, YPos);
            xPos -= 2;
        }
    }

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

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

В timer1_Tick изменить

if (xPos == 0)

на

if (xPos <= 0)

В противном случае он не будет работать, если this.Width нечетно.

0 голосов
/ 30 ноября 2011

Я думаю, вам нужно проверить, если xPos <= 0. Потому что если xPos = 1 после xPos - = 2, ваши xPos будут равны -1 </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...