Gdi+. Бегущая строка. Код внутри

  • Автор темы TYMON
  • Дата начала
T

TYMON

Вот придумал такое, но чтото не работает, точнее цикл работает, но форма не запускается пока он не пройдет полностью. В какое событие лучше тогда поставить? помогите оптимизировать, пожалуйста. Используя C# .NET Windows Forms
C++:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Threading;
namespace Lab6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Bitmap bm = new Bitmap(300, 300); 
Graphics g = Graphics.FromImage(bm); 
this.pictureBox1.Image = bm;
Font f = new Font("Arial", 16, FontStyle.Bold);
StringFormat str = new StringFormat (StringFormatFlags.NoClip);
str.Alignment = StringAlignment.Near;
for (int i = 400; i >= 0; i--)
{
Thread.Sleep(100);
Rectangle r = new Rectangle(i, 15, 300, 30);
g.FillRectangle(Brushes.Aqua, r);
g.DrawString("Выполнил студент", f, Brushes.Black, r, str);
}
bm.Save("bm.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}  }
}
 

Вложения

  • Lab6.rar
    40,8 КБ · Просмотры: 163
T

TaTTDoGG

используйуте потоки...

создаете отдельный метод RunningText и выносите в него всю вашу отрисовку.
а затем выполняете код
Код:
private void Form1_Load(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(RunningText));
t.Start();
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!