Прорисовка контрола
Вопрос: возможно ли управлять прорисовкой Windows Forms контрола наследуя его от стандартного?
Я делаю свой путем наследования от стандартного, свойства поменять могу, а вот как рулить прорисовкой непонятно.
Например есть контрол наследованный от
Ну и в чём вопрос? Вот прям из MSDN
protected override void OnPaint(PaintEventArgs e)
{
// If there is an image and it has a location,
// paint it when the Form is repainted.
base.OnPaint(e);
if(this.picture != null && this.pictureLocation != Point.Empty)
{
e.Graphics.DrawImage(this.picture, this.pictureLocation);
}
}
Другой вариант событию Paint назначить свой метод:
// This example creates a PictureBox control on the form and draws to it.
// This example assumes that the Form_Load event handling method is
// connected to the Load event of the form.
private PictureBox pictureBox1 = new PictureBox();
private void Form1_Load(object sender, System.EventArgs e)
{
// Dock the PictureBox to the form and set its background to white.
pictureBox1.Dock = DockStyle.Fill;
pictureBox1.BackColor = Color.White;
// Connect the Paint event of the PictureBox to the event handling method.
pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);
// Add the PictureBox control to the Form.
this.Controls.Add(pictureBox1);
}
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Create a local version of the graphics object for the PictureBox.
Graphics g = e.Graphics;
// Draw a string on the PictureBox.
g.DrawString("This is a diagonal line drawn on the control",
new Font("Arial",10), System.Drawing.Brushes.Blue, new Point(30,30));
// Draw a line in the PictureBox.
g.DrawLine(System.Drawing.Pens.Red, pictureBox1.Left, pictureBox1.Top,
pictureBox1.Right, pictureBox1.Bottom);
}
Сама идею думаю будет понятна?
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение