我必须使用C#在tabcontrol中绘制图像。我得到了一些提示,将DrawMode更改为OwnerDrawFixed,并将SizeMode更改为Fixed。之后,将DrawItem事件的处理程序写为:
this.tabControl1.DrawItem +=
new System.Windows.Forms.DrawItemEventHandler(this.OnDrawItem);
private void OnDrawItem(object sender, DrawItemEventArgs e)
{
Graphics g = Graphics.FromHwnd(tabPage1.Handle);/*e.Graphics;*/
DrawArrowImage(g);
}
现在这个DrawImage()函数启动一个计时器,它将在下一个点重新绘制箭头图像以类似于移动的箭头。现在我有几个问题:
感谢, RPS
答案 0 :(得分:1)
你做错了,DrawItem事件只是为了自定义绘制标签,而不是标签页。只需实现标签页的Paint事件即可。请务必使用交给您的e.Graphics进行绘图。
...
this.tabPage1.Paint += this.OnDrawPage;
...
private void OnDrawPage(object sender, PaintEventArgs e)
{
DrawArrowImage(e.Graphics);
}