Создание класса, который содержит / рисует некоторую графику? - PullRequest
1 голос
/ 13 января 2011

Хорошо, я хочу создать класс, который будет обрабатывать специальный прямоугольник.

В моей форме я хочу иметь два таких специальных прямоугольника. В общем, мне нужно два экземпляра этого класса в моей форме, верно?

Мне удалось инициализировать два, хорошо. Но как именно я должен управлять рисованием / графикой и т. Д. В классе, и как результаты должны отображаться в моей форме?

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Есть несколько концепций, которые вам нужно выяснить, чтобы сложить это вместе:

  • Вам необходимо отслеживать объекты, которые вы собираетесь рисовать.Вы частично там, но обычно это делается с помощью некоторой коллекции вроде List (of ...)
  • . Вам нужно обработать событие Paint вашего класса Form (или Panel или Control, или любого другого визуального объекта).Вы хотите нарисовать или включить)
  • Вам нужно рисовать ваши объекты внутри вашего обработчика рисования
  • Когда бы ни изменялось состояние вашего приложения, вам нужно вызывать Invalidate для объекта, который рисуется в"Force" свежий перекрас.

Вот небольшой фрагмент:

     ' suppose you have:
     Private _myRects as New List(of Rectangle) ' populated elsewhere

     ' then you handle the paint event of a UI control
     Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) _
     Handles MyBase.Paint
        Dim g As Graphics = e.Graphics

        ' loop through your collection drawing each rectangle:
        for each rect As Rectangle in _myRects 
            g.FillRectangle(Brushes.Aqua, rect)
        next for

        ...more drawing as needed
    end sub

А вот довольно хороший учебник по рисованию .NET с VB.Если вы выполните его, у вас должны быть все элементы для создания любого вида 2D-рисования .NET, который вам нравится.(Веселье не начинается до страницы 2, но не пропускайте страницу 1!)

0 голосов
/ 13 января 2011

Похоже, вам нужно прочитать две вещи: Разработка пользовательских элементов управления и Использование GDI + в Windows Forms .

Возьмите удобное кресло и красивыйчашка горячего какао;у вас много дел для чтения.

...