Прорисовка контрола
От: booblegum  
Дата: 06.10.05 13:48
Оценка:
Прорисовка контрола
Вопрос: возможно ли управлять прорисовкой Windows Forms контрола наследуя его от стандартного?

Я делаю свой путем наследования от стандартного, свойства поменять могу, а вот как рулить прорисовкой непонятно.
Например есть контрол наследованный от

06.10.05 23:41: Перенесено модератором из '.NET' — der Igel
RE: Прорисовка контрола
От: Аноним  
Дата: 06.10.05 14:43
Оценка:
Прорисовка контрола
Вопрос: возможно ли управлять прорисовкой 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
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.