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

Тема в разделе ".NET", создана пользователем TYMON, 27 апр 2011.

  1. TYMON

    TYMON Member

    Регистрация:
    19 июн 2010
    Сообщения:
    11
    Симпатии:
    0
    Вот придумал такое, но чтото не работает, точнее цикл работает, но форма не запускается пока он не пройдет полностью. В какое событие лучше тогда поставить? помогите оптимизировать, пожалуйста. Используя 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 КБ
      Просмотров:
      7
  2. TaTTDoGG

    TaTTDoGG Гость

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

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

Поделиться этой страницей