Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除表单中的所有Graphics.DrawString_C#_Winforms_Devexpress - Fatal编程技术网

C# 清除表单中的所有Graphics.DrawString

C# 清除表单中的所有Graphics.DrawString,c#,winforms,devexpress,C#,Winforms,Devexpress,也许很简单,但我找不到正确的方法。 我有一个表单,在这个表单中,我需要在运行时的特定点绘制一些字符串和线条(使用Graphics.DrawLine或Graphics.DrawString)。 我需要每X秒刷新一次表单,我可以重新绘制所有需要的内容,但旧的图形仍然存在 所以,我需要删除,删除,删除。。。前面的图形 我正在使用DevExpressSchedulerControl。在schedulerControl1\u CustomDrawAppointment事件中绘制。 我使用e.Cache.D

也许很简单,但我找不到正确的方法。 我有一个表单,在这个表单中,我需要在运行时的特定点绘制一些字符串和线条(使用Graphics.DrawLine或Graphics.DrawString)。 我需要每X秒刷新一次表单,我可以重新绘制所有需要的内容,但旧的图形仍然存在

所以,我需要删除,删除,删除。。。前面的图形

我正在使用
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(如果有)。