powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с рисованием на форме
7 сообщений из 7, страница 1 из 1
Помогите с рисованием на форме
    #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
Помогите с рисованием на форме
    #32802674
Фотография ctmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
this.CreateGraphics().DrawLine(new Pen(Color.Red, 10), 10, 10, 100, 100);
При следующе перересисовке она пропадет ;))
Если хочеш чтобы не пропадала то тогда храни гденить ее параметры и рисуй в онпаенте, ну а чтобы обновить Invalidate(); смотри перегруженне методы там можно регион указать чтобы все не перерисовывать.

Наилучшие!
...
Рейтинг: 0 / 0
Помогите с рисованием на форме
    #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
Помогите с рисованием на форме
    #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
Помогите с рисованием на форме
    #32802968
Фотография ctmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наилучшие!
...
Рейтинг: 0 / 0
Помогите с рисованием на форме
    #32804832
Trethop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
thnx ctmike
может подскажешь как с этим справиться
заранее благодарен =)
...
Рейтинг: 0 / 0
Помогите с рисованием на форме
    #32807195
Фотография SergLet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например вот это посмотри!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с рисованием на форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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