C# 清除表单中的所有Graphics.DrawString
也许很简单,但我找不到正确的方法。 我有一个表单,在这个表单中,我需要在运行时的特定点绘制一些字符串和线条(使用Graphics.DrawLine或Graphics.DrawString)。 我需要每X秒刷新一次表单,我可以重新绘制所有需要的内容,但旧的图形仍然存在 所以,我需要删除,删除,删除。。。前面的图形 我正在使用C# 清除表单中的所有Graphics.DrawString,c#,winforms,devexpress,C#,Winforms,Devexpress,也许很简单,但我找不到正确的方法。 我有一个表单,在这个表单中,我需要在运行时的特定点绘制一些字符串和线条(使用Graphics.DrawLine或Graphics.DrawString)。 我需要每X秒刷新一次表单,我可以重新绘制所有需要的内容,但旧的图形仍然存在 所以,我需要删除,删除,删除。。。前面的图形 我正在使用DevExpressSchedulerControl。在schedulerControl1\u CustomDrawAppointment事件中绘制。 我使用e.Cache.D
DevExpress
SchedulerControl
。在schedulerControl1\u CustomDrawAppointment
事件中绘制。
我使用e.Cache.DrawString
方法绘制这些字符串
代码如下:
HorizontalAppointmentViewInfo vi = e.ObjectInfo as HorizontalAppointmentViewInfo;
if (vi == null) return;
Rectangle rConductor = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
System.Drawing.Font FontConductor = new System.Drawing.Font("Tahoma", 8);
e.Cache.DrawString("some string", FontConductor, new SolidBrush(Color.Black), rConductor, StringFormat.GenericDefault);
e.Handled = true;
你能发布你的代码吗?很可能你没有在正确的位置进行绘制,如果你知道每次表单失效时它都会自动删除的话。我们需要查看您的绘制代码(这里有一个提示,如果您需要调用
CreateGraphics
在屏幕上绘制您在错误的位置绘制的代码,所有正确的位置都会为您提供图形
对象)我现在无法发布代码。我正在使用DevExpress SchedulerControl。并在schedulerControl1\u CustomDrawAppointment事件中绘制。我使用“e.Cache.DrawString”方法绘制此字符串。通常的方法是绘制适当的绘制事件,并通过使控件无效来触发该事件。。请将DevExpress添加到您的标签中!很可能,您称之为“旧图形”的内容实际上是在事件处理程序中的代码执行后由控件绘制的。事件参数中是否有一个名为“Handled”、“Cancel”或类似的属性?选中此项并将此属性设置为true(如果有)。