Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6308
Последний выпуск: 19.06.2015

C# Вывод прямоугольника при запуске

34K
24 июня 2012 года
zna926
64 / / 23.03.2012
Известно, как выводить различные графические элементы.

Подскажите, а как выводить, например, прямоугольник при запуске программы,
  • Куда выводить? от CassandraDied, 24 июня 2012 года
  • При запуске какой программы? Winform? WPF? от D129, 24 июня 2012 года
34K
24 июня 2012 года
zna926
64 / / 23.03.2012
Здравствуйте, D129!
Прошу прощения за безграмотность.
Имелось ввиду Winform.
Благодарю
34K
24 июня 2012 года
zna926
64 / / 23.03.2012
Здравствуйте, CassandraDied !
Прошу прощения, имелось ввиду Windows Form
Благодарю
413
24 июня 2012 года
CassandraDied
763 / / 24.05.2012
 
Код:
System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
            System.Drawing.Graphics formGraphics;
            formGraphics = this.CreateGraphics();
            formGraphics.FillRectangle(myBrush, new Rectangle(0, 0, 200, 300));
            myBrush.Dispose();
            formGraphics.Dispose();
Рисует прямоугольник. Чтобы он рисовался до загрузки программы, нужно вызывать код в конструкторе формы. Если прямоугольник нужен отдельно от окна программы, то создавать ещё одну форму и рисовать на ней. Создавать тоже в конструкторе основного окна.
34K
25 июня 2012 года
zna926
64 / / 23.03.2012
CassandraDied! Получил от Вас код, спасибо, скопировал в конструктор, но без результата. Проверил по кнопке-все нормально.
Если не затруднит, подскажите причину. Для сведения: у меня Visual Studio 2008, C#
413
25 июня 2012 года
CassandraDied
763 / / 24.05.2012
За причиной - это к пользователю kot_.
40K
25 июня 2012 года
D129
228 / / 18.04.2012
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace SpashScreen
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form2());
            Application.Run(new Form1());
        }
    }
}



namespace SpashScreen
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();

            GraphicsPath path = new GraphicsPath();
            path.AddString("I am Starting!!!", Font.FontFamily, 1, 45, new Point (10,10), StringFormat.GenericDefault);
            Region = new Region(path);

        }

        private void Form2_Shown(object sender, EventArgs e)
        {
            for (int ii = 0; ii < 100; ii++)
            {
                Thread.Sleep(200);
                Application.DoEvents();
            }
            this.Close();
        }
    }
}

Форма1 - все что угодно

Ну и эвент надо подписать - в Форме2, и цвет ей задайте какой-нибудь не серый.
34K
25 июня 2012 года
zna926
64 / / 23.03.2012
Здравствуйте, D129! Спасибо за ответ. К сожалению, я ничего не понял. Возможно, я непонятно задал вопрос.
Вот код вывода прямоугольника. Под кнопкой работает без проблем.
Rectangle rct = new Rectangle(50, 50, 120, 80);
Brush br = new SolidBrush(Color.FromArgb(230, 185, 123));
Pen pn = new Pen(Color.Black, 6);
Graphics gr = CreateGraphics();
gr.DrawRectangle(pn, rct);
gr.FillRectangle(br, rct);
Теперь простейший вопрос: как этот прямоугольник вывести при запуске программы, вот и все.
Прошу извинить за беспокойство.
40K
26 июня 2012 года
D129
228 / / 18.04.2012
Поместите рисоване вашего прямоугольника в обработчик эвента Form_Shown.

А если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint.

По принципу работы - первый - это как нажатие кнопки один раз,
второй - каждый раз, когда форму надо нарисовать заново.
Но все автоматически.
6
26 июня 2012 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: D129
если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint

А теперь на минуту представьте,что случится,когда потребуется вывести гораздо более сложный рисунок,нежели простой прямоугольник

40K
27 июня 2012 года
D129
228 / / 18.04.2012
Цитата: @pixo $oft
[quote=D129;81758]если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint

А теперь на минуту представьте,что случится,когда потребуется вывести гораздо более сложный рисунок,нежели простой прямоугольник[/quote]

Для человека, который еще не разобрался в эвентах, это случится не скоро.
Кроме того - если рисунок сложный - значит важный и красивый. И пользователю не будет хотеться его перекрывать другими формами.
:-)

34K
27 июня 2012 года
zna926
64 / / 23.03.2012
Здравствуйте, D129! Все получилось, благодарю

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог