Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2011, 15:45   #31
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Ага, ясно. в мсдн пишут, что есть только прямоугольник. А как же тогда для треугольника быть.?
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 16:40   #32
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
Или метод майн из консольной версии программы можно как то интегрировать в это приложение?
Весь метод main() не нужно, можно из него взять часть кода, если нужно.
Цитата:
В обработчике собития пишу все формулы из консольки.
типа в текст бокс 8 вывести произведение текстбоксов 2 и 3
Только синтаксис не знаю.
Покажи, что в обработчике написал.
Цитата:
4) В пикчербоксе рисуются эти фигуры
Вот это совсем непонятно. По нажатию на кнопку рисуются сразу 5 фигур в одном пикчер боксе?
Как?
Представь, что pictureBox - это лист бумаги. Ты можешь нарисовать на нем все, что угодно.
Чтобы рисовать на контроле необходимо создать объект Graphics (метод CreateGraphics()).
В метод pictureBox1_Paint(), передается уже созданный объект Graphics, доступен как:
e.Graphics

Цитата:
Ага, ясно. в мсдн пишут, что есть только прямоугольник. А как же тогда для треугольника быть.?
Посмотри описание методов класса Graphics (MSDN - Graphics)
Методы рисования начитаются со слова Draw.

P.S. Треугольника - нет, но ведь его можно нарисовать линиями. Смотри методы DrawLines(), DrawPolygon() (в msdn есть примеры).
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 02.05.2011, 16:53   #33
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

в текст бокс 1 ввожу а, в 2 б. в 3 с и т.д
в текст боксе 6 вывожу площадь прямоугольника в текст боксе 7 вывожу периметр прямоугольника
в обработчике события кнопки пишу как на с++ (местный синтаксис не знаю):


textBox6->Text = ((Double::Parse(textBox1->Text)*Double::Parse(textBox2->Text)).ToString(); //считаю площадь и вывожу в текстбокс 6



textBox7->Text = (((Double::Parse(textBox1->Text))+(Double::Parse(textBox2->Text)/2))).ToString();// считаю периметр и вывожу в текст бокс7

По аналогии все остальные текстбоксы описываю в обработчике
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 16:58   #34
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

public void DrawLinesPoint(PaintEventArgs e)
{

// Create pen.
Pen pen = new Pen(Color.Black, 3);

// Create array of points that define lines to draw.
Point[] points =
{
new Point(10, 10),
new Point(10, 100),
new Point(200, 50),
new Point(250, 300)
};

//Draw lines to screen.
e.Graphics.DrawLines(pen, points);
}

как же я это могу связать со своим треугольником?
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 17:03   #35
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

public void DrawPolygonPoint(PaintEventArgs e)
{

// Create pen.
Pen blackPen = new Pen(Color.Black, 3);

// Create points that define polygon.
Point point1 = new Point(50, 50);
Point point2 = new Point(100, 25);
Point point3 = new Point(200, 5);
Point point4 = new Point(250, 50);
Point point5 = new Point(300, 100);
Point point6 = new Point(350, 200);
Point point7 = new Point(250, 250);
Point[] curvePoints =
{
point1,
point2,
point3,
point4,
point5,
point6,
point7
};

// Draw polygon to screen.
e.Graphics.DrawPolygon(blackPen, curvePoints);
}

Или из этого сделать треугольник, оставив 3 поинта.
Но все равно, как связать это с классом треугольник в программе?
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 18:06   #36
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
textBox6->Text = ((Double::Parse(textBox1->Text)*Double::Parse(textBox2->Text)).ToString();
textBox7->Text = (((Double::Parse(textBox1->Text))+(Double::Parse(textBox2->Text)/2))).ToString();
На C# это будет:
Код:
textBox6.Text = (Double.Parse(textBox1.Text)*Double.Parse(textBox2.Text)).ToString();
textBox7.Text = ((Double.Parse(textBox1.Text))+(Double.Parse(textBox2.Text)/2)).ToString();
Так, может, мы не с того начали, синтаксисом насколько владеете? (Курс C#)

Цитата:
Или из этого сделать треугольник, оставив 3 поинта.
Но все равно, как связать это с классом треугольник в программе?
Да оставить 3 точки. Например так:
Код:
        public override void Draw(Graphics graphics)
        {
            Pen blackPen = new Pen(Color.Black, 3);

            Point[] curvePoints =
            {
                new Point(x, y), // x, y - только для примера!
                new Point(x, y + a),  // x, y + a - только для примера!
                new Point(x + a, y + b)  // x + a, y + b - только для примера!
            };

            graphics.DrawPolygon(blackPen, curvePoints);
        }
Теперь необходимо решить вопрос с координатами.
Чтобы нарисовать треугольник - необходимо задать координаты трех точек. Сейчас в коде передаются длины сторон, что неудобно.
Можно изменить конструктор так, чтобы в него передавать эти координаты:
Код:
// Новый конструктор:
public Treugolnik(Point p1, Point p2, Point p3)
{
    ...
}
Тогда в методе Draw() можно будет написать так:
Код:
            Pen blackPen = new Pen(Color.Black, 3);
            Point[] curvePoints = { p1, p2, p3 };
            graphics.DrawPolygon(blackPen, curvePoints);
А значения a, b, c сделать вычисляемыми, как расстояния между точками (координаты мы же знаем).
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 02.05.2011, 18:29   #37
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

только для примера!
Что это означает?

Ладно. Попробую с этими вещами поработать. Потом напишу.
Хотя вопросы конечно будут.
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 18:32   #38
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
только для примера!
Что это означает?
В конструктор класса Point нужно передать координаты точки (я об этом написал ниже).
Я передал (x, y + a) и (x + a, y + b), просто, чтобы треугольник отрисовался.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 02.05.2011, 21:17   #39
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Код:
textBox6.Text = (Double.Parse(textBox1.Text)*Double.Parse(textBox2.Text)).ToString();
textBox7.Text = ((Double.Parse(textBox1.Text))+(Double.Parse(textBox2.Text)/2)).ToString();
Пишет, что * не может применятся к операндам дабл и стринг!
Что делать?
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 02.05.2011, 21:29   #40
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
Пишет, что * не может применятся к операндам дабл и стринг!
Что делать?
Да нет, скобки расставлены верно, у меня ошибок не выдает.
Других ошибок компиляции нет?
Проверьте еще раз расстановку скобок.

P.S.
В посте #36 я переменные не так назвал.
Там не x и y, а _x и _y.
Код:
                new Point(_x, _y), // x, y - только для примера!
                new Point(_x, _y + a),  // x, y + a - только для примера!
                new Point(_x + a, _y + b)  // x + a, y + b - только для примера!
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Геометрические Задачки. Otar4ik C# (си шарп) 8 08.08.2014 11:15
Геометрические преобразования в OpenGL alhon Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 03.07.2010 07:07
Геометрические фигуры в С++ zfoxx Общие вопросы C/C++ 5 05.11.2009 11:09
как с помощью html рисовать геометрические фигуры 1100100011000101 HTML и CSS 3 01.05.2009 19:17
Помогите как чертить геометрические фигуры в режиме консоли в среде anvarx Помощь студентам 4 02.08.2008 14:15