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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 10:34   #1
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию Вывод круга в другой форме

Код:
Ели в первой форме нажать букву к то должна открыться вторая форма с названием круг и в изображением круга, как это сделать так как у меня выходит все это в первой форме

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ex3
{
    public partial class Form1 : Form
    {
        Graphics Graph;
        Font MyFont;
        SolidBrush MyBrush;
        Random Rand;
        Pen MyPen;

        public Form1()
        {
            InitializeComponent();
            MyPen = new Pen(Color.Magenta);
            Graph = CreateGraphics();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
           
            Rand = new Random();
            MyFont = new Font("Arial", 15, FontStyle.Bold);
            MyBrush = new SolidBrush(Color.Black);
            
        }


        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graph.DrawString("Нажми ‘к’ - круг. Для закрытия приложения - Esc", MyFont, MyBrush, 30, 10);
    
        }

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
             KeyPreview = true;
             if (e.KeyValue == 82)
             {
                 Form2 form2 = new Form2();
                 form2.Show();
              }
        }

    }
}

а вот вторая форма
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ex3
{
    public partial class Form2 : Form
    {
            Graphics Graph;
              Pen MyPen;

        public Form2()
        {
            InitializeComponent();
            MyPen = new Pen(Color.Magenta);
            Graph = CreateGraphics();
        }

        private void Form2_KeyUp(object sender, KeyEventArgs e)
        {
             KeyPreview = true;
             if (e.KeyValue == 82)
             {
                 Graph.DrawEllipse(MyPen, 50, 50, 100, 100);
             }
        }

    }
}
Veryn4ik1993 вне форума Ответить с цитированием
Старый 10.03.2013, 12:30   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Код:
        public Form2()
        {
            InitializeComponent();
            MyPen = new Pen(Color.Magenta);
            Graph = CreateGraphics();
            Text = "Круг";
        }

        private void Form2_Paint(object sender, PaintEventArgs e)
        {
            Graph.DrawEllipse(MyPen, 50, 50, 100, 100);
        }
Так ?
phomm вне форума Ответить с цитированием
Старый 10.03.2013, 12:49   #3
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

приложение с двумя формами, в котором на первой (главной) форме выводится сообщение «Нажми ‘к’, чтобы увидеть круг, ‘п’, чтобы увидеть прямоугольник. Для закрытия приложения нажми Esc». При нажатии на клавиши ‘к’, ‘п’ открывается другая форма, на которой изображена указанная фигура

Последний раз редактировалось Veryn4ik1993; 10.03.2013 в 12:52.
Veryn4ik1993 вне форума Ответить с цитированием
Старый 10.03.2013, 13:32   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Во-первых, где в первом посте информация о прямоугольнике ?
Во-вторых, Вы пробовали то, что я указал ?
Добавить прямоугольник можно банальным флагом.
Код:
public partial class Form2 : Form
    {
            Graphics Graph;
              Pen MyPen;
            public byte figure;
Код:
private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
             KeyPreview = true;
             if (e.KeyValue == 82 || e.KeyValue == код_буквы_П)
             {
                 Form2 form2 = new Form2();
                 if(e.KeyValue == 82)
                     form2.figure = 0
                 else
                     form2.figure = 1
                 form2.Show();
              }
        }
Код:
private void Form2_Paint(object sender, PaintEventArgs e)
        {
            if (figure==0)
                Graph.DrawEllipse(MyPen, 50, 50, 100, 100);
            if (figure==1)
                Graph.Rectangle(параметры);
        }
Выход по эскейп сами добавляйте - в гугле точно есть.
phomm вне форума Ответить с цитированием
Старый 10.03.2013, 14:01   #5
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Спасибо большое!!!
Veryn4ik1993 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарисовать на другой форме. Mr_freeman Помощь студентам 5 12.02.2012 18:02
процедура к кнопке на другой форме maloun Общие вопросы Delphi 12 04.01.2011 13:53
StringGrid на другой форме cowboy Общие вопросы Delphi 20 17.07.2009 14:07
передать переменную другой форме Var17 Общие вопросы Delphi 5 07.01.2009 02:03
Использование компонентов в другой форме White БД в Delphi 3 27.08.2008 13:32