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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2014, 20:02   #1
Aleksa91
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 21
По умолчанию Перевод нескольких строк из Delphi в C#

Помогите пожалуйста, мне необходимо переделать код из delphi в с#, и с несколькими строками возник вопрос. Я не знаю какой аналог их в c#. Буду очень признательна за помощь.
Код:
Image1.Canvas.MoveTo(coordinate_of_town[0,mas_of_chromosomes[y,0]],coordinate_of_town[1,mas_of_chromosomes[y,0]]);
  for i:=1 to StrToInt(ME1.Text)-1 do
    Image1.Canvas.LineTo(coordinate_of_town[0,mas_of_chromosomes[y,i]],coordinate_of_town[1,mas_of_chromosomes[y,i]]);
  Image1.Canvas.LineTo(coordinate_of_town[0,mas_of_chromosomes[y,0]],coordinate_of_town[1,mas_of_chromosomes[y,0]]);
  Image1.Repaint;
и еще один вопросик. Как сделать чтобы нарисованные эллипсы оставались. Я рисую их нажатием кнопки. Но при новом нажатии предыдущий эллипс исчезает.
Код:
private void Image1_MouseUp(object sender, MouseEventArgs e)
        {
            if (radioButton1.Checked)
            {
                mbit = new Bitmap(Image1.Width, Image1.Height);
                gr = Graphics.FromImage(mbit);
                x = e.X; y = e.Y;
                button3.Enabled = true;
                coordinate_of_town = new int[2][];
                for (i = 0; i < 2; i++)
                    coordinate_of_town[i] = new int[count_of_towns + 1];

                gr.DrawEllipse(p, x, y, 7, 7);
                gr.FillEllipse(Brushes.Red, x, y, 7, 7);

                coordinate_of_town[0][count_of_towns] = x;
                coordinate_of_town[1][count_of_towns] = y;

                count_of_towns++;
                textBox1.Text = count_of_towns.ToString();
                if (count_of_towns >= 4)
                    button2.Enabled = true;
                Image1.Image = mbit;
            }
        }
Aleksa91 вне форума Ответить с цитированием
Старый 29.11.2014, 00:23   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

MoveTo и LineTo из дельфи можно заменить на Graphics.DrawLine в сишарпе. Наиболее удобная, имхо, будет Вам перегрузка с 4 синглами/интами.

Для рисования, как Вы хотите, надо графикс хранить отдельно (лучше полем формы и инициализировать на старте) , а не пересоздавать его каждый раз.
Ссылки по данному приёму http://programmersforum.ru/showthread.php?t=238781 http://programmersforum.ru/showthread.php?t=263423

Последний раз редактировалось phomm; 29.11.2014 в 00:26.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение нескольких строк konstantin1990 Microsoft Office Excel 26 05.08.2013 23:07
Объединение нескольких строк в одну knzhukov Microsoft Office Access 4 06.06.2011 07:52
UPDATE нескольких строк. vedro-compota SQL, базы данных 18 31.01.2011 18:15
Удаление нескольких строк с условием Ppaa Microsoft Office Excel 4 20.12.2010 16:42
Перевод нескольких чисел в строке krappt Общие вопросы C/C++ 2 09.07.2009 23:11