Класът Graphics в Windows Forms (C#) ?


1

Здравейте , имам следната апликация:

 

И в задачата ми се казва:

 

Прозореца ми в случая се казва Form7 и е на снимката която виждате. От условието разбирам че това което се иска от мен е след като отворя прозореца Form7 в него да си напиша името по подобие на начина в който това се рисува в Paint програмата с моливчето. За целта вкарах следния код когато Form7 се лоудва:

private void Form7_Load(object sender, EventArgs e)
        {
            System.Drawing.Graphics graphicsObj;
 
            graphicsObj = this.CreateGraphics();
 
            Pen myPen = new Pen(System.Drawing.Color.Red, 5);
 
            myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot;
 
            myPen.Color = System.Drawing.Color.RoyalBlue;
 
            myPen.Width = 3;
        }
 
Искам да знам дали това което си мисля че искат да направим в задачата може да се осъществи в WinForms Application (а именно писане с моливче по формата по подобие на рисуването с Paint) и ако може какъв е проблема за да не може да стане с този ми код ?

 

 

 

 

 

 




Отговори



3

Здравей,

не се рисува поради простата причина, че трябва да override-неш метода OnPaint(PaintEventArgs e) и другата причина, е че не можеш да викаш метода от FormLoad метода.

Давам ти примерна реализация по-долу, ако имаш въпроси питай:

http://pastebin.com/daBprb6N

Поздрави!


от martin.nikolov (4535 точки)


0
Къде да сложа този код в Main формата или в Form7 ?

от Svetoslav1987 (1061 точки)

0
В Form7 -> само двата метода DrawVerticalString() и OnPaint(PaintEventArgs e).

от martin.nikolov (4535 точки)


0

Мартин ето го резултата смених вместо името да излиза вертикално да е Right to Left:

 

Сигурен ли си четейки условието на задачата че това което се иска от мен е именно това ?


от Svetoslav1987 (1061 точки)