Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с рисованием на форме / 7 сообщений из 7, страница 1 из 1
27.11.2004, 20:43
    #32802629
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
какой код надо повесить на кнопку, чтобы при нажатии на нее на форме рисовалась элементарная линия

private void mnFileDraw_Click(object sender, System.EventArgs e)
{
}

private void frmMain_paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics ;
Pen pn = new Pen(Color.Red);
Rectangle rect = new Rectangle(50, 50, 200, 100);
g.DrawArc(pn, rect, 45, 56);
}
...
Рейтинг: 0 / 0
27.11.2004, 23:42
    #32802674
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
Код: plaintext
this.CreateGraphics().DrawLine(new Pen(Color.Red, 10), 10, 10, 100, 100);
При следующе перересисовке она пропадет ;))
Если хочеш чтобы не пропадала то тогда храни гденить ее параметры и рисуй в онпаенте, ну а чтобы обновить Invalidate(); смотри перегруженне методы там можно регион указать чтобы все не перерисовывать.

Наилучшие!
...
Рейтинг: 0 / 0
28.11.2004, 13:05
    #32802792
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
ctmike спасибо
а как в OnPaint рисовать. Я делал так
protected override void OnPaint(PaintEventArgs pe)
{
Graphics g = pe.Graphics ;
Pen pn = new Pen(Color.Red);
Rectangle rect = new Rectangle(50, 50, 200, 100);
g.DrawArc(pn, rect, 12, 84);
}
но линия рисуется сразу как запускаешь exeшник, а мне надо чтобы рисовалось при нажатии на кнопку, но что я только не делал никак не могу понять как это сделать

и еще как очистить форму(есть что-нить типа frmMain.Clear() или .Clean)
...
Рейтинг: 0 / 0
28.11.2004, 22:25
    #32802967
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
ArrayList lines = new ArrayList();

private void addButton_Click(object sender, System.EventArgs e)
{		
	Line line = new Line();
	line.StartPoint = new Point(10, 10);
	line.EndPoint = new Point(100,100);
	line.Color = Color.Red;
	line.Width = 10;

	lines.Add(line);

	//Переисовка
	//this.Invalidate(); //Весь экран
	this.Invalidate(new Rectangle(0, 0, 110, 110));//Если только часть экрана
}

private void removeButton_Click(object sender, System.EventArgs e)
{
	if (lines.Count > 0)
	{
		//Удаляем из коллекции
		lines.RemoveAt(0);
	}			
	this.Invalidate(new Rectangle(0, 0, 110, 110));//Если только часть экрана
}

protected override void OnPaint(PaintEventArgs e)
{
	foreach (Line line in lines)
	{
		e.Graphics.DrawLine(new Pen(line.Color, line.Width), line.StartPoint, line.EndPoint);		
	}
	base.OnPaint (e);
}	

internal struct Line
{
	public Point StartPoint;
	public Point EndPoint;
	public Color Color;
	public int Width;
}
...
Рейтинг: 0 / 0
28.11.2004, 22:25
    #32802968
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
Наилучшие!
...
Рейтинг: 0 / 0
29.11.2004, 21:16
    #32804832
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
thnx ctmike
может подскажешь как с этим справиться
заранее благодарен =)
...
Рейтинг: 0 / 0
01.12.2004, 11:23
    #32807195
SergLet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с рисованием на форме
Например вот это посмотри!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с рисованием на форме / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]