Страница: 1 |
|
Вопрос: Графика на форме
|
Добавлено: 17.11.11 13:39
|
|
Автор вопроса: desasha | ICQ: 499363400
|
Здраствуйте. Срау замечу, что в програмировании совсем новичек.
Итак, задача следующая: ВБ`08. на форме по массивам точек я создаю по нажатию на кнопку (или другому простому событию) линии через
Dim g As Graphics = Me.CreateGraphics
Dim Way(2) As PointF
Way(0) =
Way(1) =
Way(2) =
g.DrawLines(Pens.Black, Way)
Таких линий на форме будет много, к тому же им часто придется менять цвет и ширину. для обновления я использовал команду
Me.Refresh()
и снова производил рисование. Но как только окно сворачивается или вызывается другая форма - все стирается и приходится заново рисовать.
Подскажите, как можно сохранить эти объекты на форме, а перерисовывать их только в нужный мне моент?
З.Ы. 1.через стандартное событие Form1_Paint() не уверен, дабы большим потоком операций не повешать комп.
2. Буду очень признателен, если кто поделится ссылкой на литературу, где грамотно можно почитать о передаче аргументов событий (что передавать под теми чертовыми "sender" и "е")в вызываемые функции,а то с этим вообще у меня никак не получается разобратся.
Заранее благодарен
Ответить
|
Номер ответа: 2 Автор ответа: Cramper
Вопросов: 15 Ответов: 93
|
Профиль | | #2
|
Добавлено: 15.12.11 14:09
|
Хороший совет. У меня тоже были проблемы с прорисовкой на форме.
Вот пример кода для VB 2010
1. Создайте файл с:\pic.bmp
2. В поле формы вставьте кнопку Button1 и PictureBox1
Public Class Form1
 im fs As New System.IO.FileStream("c:\pic.bmp", IO.FileMode.Open)
 im bm As New Bitmap(fs)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
fs.Close()
 im g As Graphics = Graphics.FromImage(bm)
g.FillEllipse(Brushes.Red, 10, 10, 100, 100)
g.DrawLine(Pens.Black, 0, 0, 50, 50)
g.Dispose()
bm.Save("C:\pic.bmp", Imaging.ImageFormat.Bmp)
PictureBox1.Image = Image.FromFile("c:\pic.bmp"
End Sub
End Class
Теперь Рисунок исчезать не будет при сворачивании формы и прочих манипуляциях.
Ответить
|
Страница: 1 |
Поиск по форуму