Лабораториска вежба 10 - finki-mk/VP GitHub Wiki
Document-View архитектура и MDI апликација
Конечен изглед на апликацијата
Опис на задачата
Во оваа задача треба да се развие едноставна Windows Forms апликација која ќе биде контејнер на повеќе (две) различни форми. Ова се постигнува со поставување на својството IsMdiContainer
на true
.
Апликацијата треба да работи со два видови на документи. Документ кој ќе претставува број на топчиња и документ за број на ѕвезди. За овие документи треба да се имплементираат методи за додавање и одземање на топче/ѕвезда и потребно е да се имплементира сериализација.
Потоа за овие документи да се развијат соодветни форми. Во едната форма ќе се исцртуваат топчиања, додека во другата ќе се исцртуваат ѕвездите.
На MDI формата треба да се додаде мени со стандардните опции и лента со алатки. Во File
менито се додава една дополнителна New
опција по што ги нагодуваме двете New
опции, едната за креирање нов документ за топчиња, а другата за документ за ѕвезди. Истите акции се пресликуваат соодветно на лентата со алатки со дадените икони.
Метод за добивање точки за цртање ѕвезда
private PointF[] StarPoints(int num_points, Rectangle bounds)
{
// Make room for the points.
PointF[] pts = new PointF[num_points];
double rx = bounds.Width / 2;
double ry = bounds.Height / 2;
double cx = bounds.X + rx;
double cy = bounds.Y + ry;
// Start at the top.
double theta = -Math.PI / 2;
double dtheta = 4 * Math.PI / num_points;
for (int i = 0; i < num_points; i++)
{
pts[i] = new PointF(
(float)(cx + rx * Math.Cos(theta)),
(float)(cy + ry * Math.Sin(theta)));
theta += dtheta;
}
return pts;
}