На форме я создал pictureBox и на нем хочу нарисовать линиями своё ФИО. Размеры pictureBox 776; 426 (залит черным цветом). Не могу понять, почему линия не хочет рисоваться.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DrawingLines
{
public partial class DrawingForm : Form
{
public DrawingForm()
{
InitializeComponent();
}
private void DrawingForm_Load(object sender, EventArgs e)
{
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics gr = e.Graphics;
Pen p = new Pen(Color.White, 5);// цвет линии и ширина
Point p1 = new Point(5, 10);// первая точка
Point p2 = new Point(300, 400);// вторая точка
gr.DrawLine(p, p1, p2);// рисуем линию
gr.Dispose();// освобождаем все ресурсы, связанные с отрисовкой
}
}
}
Вот код формы:
namespace DrawingLines { partial class DrawingForm { /// /// Обязательная переменная конструктора. /// private System.ComponentModel.IContainer components = null;
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
/// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Код, автоматически созданный конструктором форм Windows
/// <summary>
/// Требуемый метод для поддержки конструктора — не изменяйте
/// содержимое этого метода с помощью редактора кода.
/// </summary>
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(776, 426);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// DrawingForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.pictureBox1);
this.Name = "DrawingForm";
this.Text = "Рисование";
this.Load += new System.EventHandler(this.DrawingForm_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
}
}
Потому что вы рисуете на неком graphics, а потом его уничтожаете. Вам надо получить graphics принадлежащий PictureBox и рисовать на нем(не уничтожая после)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
возникла у меня проблема при генерации excel файлаЗаключается она в том, что при попытке открыть файл в Excel вы получаете сообщение о том, что...