2013-03-07 4 views
0

Использование DrawImageUnscaled моя программа рисует parobola или линию ..., когда я нажимаю вкладку панель очищает

Если я нажимаю вкладку после того как программа рисует, панель в ти изображение очищает ..

Для мои оси ox и oy я использую? и они также исчезают ...

System.Drawing.Pen linepen; 
linepen = new System.Drawing.Pen(System.Drawing.Color.Green); 

System.Drawing.Graphics g = drawingboard.CreateGraphics(); 

g.DrawLine(linepen, 0, drawingboard.Height/2, drawingboard.Width, drawingboard.Height/2); 
g.DrawLine(linepen, drawingboard.Width/2, 0, drawingboard.Width/2, drawingboard.Height); 
timer1.Enabled = false; 

Как это исправить?

+0

использовать событие Paint нарисовать что-нибудь. –

+0

Я полагаю, что поставляемый код НЕ находится или вызывается из метода OnPaint (...) или обработчика события Paint. Если это так, вам нужно исправить это, по крайней мере, до тех пор, пока вы не поймете, как делается живопись в среде .NET. –

ответ

0

Как правило, в DOT.NET вы не просто рисуете то, что хотите, чтобы пользователь видел в случайном месте. Вместо этого каждая панель (и управление) имеет функцию OnPaint, которая вызывается, когда элемент управления отображается сам. Вы хотите изменить эту функцию, чтобы нарисовать новые строки.

При работе с .NET вы заметите, что эта функция будет вызвана несколько раз, когда в приложении произойдут определенные события - например, размер переразмера. Это позволяет программисту изменять то, что отображается при изменении размера окна.

Добавьте свой код выше в функцию OnPaint элемента управления, и он должен работать намного лучше.

Я не уверен, что вы имеете в виду вола и оу - Вы, кажется, не имеют какой-либо код с ними

Смежные вопросы