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();
C# Вывод прямоугольника при запуске
Подскажите, а как выводить, например, прямоугольник при запуске программы,
- Куда выводить? от CassandraDied, 24 июня 2012 года
- При запуске какой программы? Winform? WPF? от D129, 24 июня 2012 года
Прошу прощения за безграмотность.
Имелось ввиду Winform.
Благодарю
Прошу прощения, имелось ввиду Windows Form
Благодарю
Код:
Если не затруднит, подскажите причину. Для сведения: у меня Visual Studio 2008, C#
За причиной - это к пользователю kot_.
Код:
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();
}
}
}
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, и цвет ей задайте какой-нибудь не серый.
Вот код вывода прямоугольника. Под кнопкой работает без проблем.
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);
Теперь простейший вопрос: как этот прямоугольник вывести при запуске программы, вот и все.
Прошу извинить за беспокойство.
А если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint.
По принципу работы - первый - это как нажатие кнопки один раз,
второй - каждый раз, когда форму надо нарисовать заново.
Но все автоматически.
Цитата: D129
если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint
А теперь на минуту представьте,что случится,когда потребуется вывести гораздо более сложный рисунок,нежели простой прямоугольник
Цитата: @pixo $oft
[quote=D129;81758]если хотите, чтобы при перекрывании-минимизировании окна он тоже не исчезал - то в обработчик эвента Paint
А теперь на минуту представьте,что случится,когда потребуется вывести гораздо более сложный рисунок,нежели простой прямоугольник[/quote]
Для человека, который еще не разобрался в эвентах, это случится не скоро.
Кроме того - если рисунок сложный - значит важный и красивый. И пользователю не будет хотеться его перекрывать другими формами.
:-)
Здравствуйте, D129! Все получилось, благодарю