绘制drawEllipse & drawString

cpfxs 2012-09-20 03:30:53


使用了
_flex.Invalidate();


向右 / 向下拖动 ScrollBar 时,绘制的Ellipse 和 String 会出现在 固定行/固定列


如何解决这种情况呢?不让绘制的ellipse与string 出现在固定行,固定列



_flex.Paint += new PaintEventHandler(draw_circle);
private void draw_circle(object sender, PaintEventArgs e)
{
//... ...
int x = _flex.ScrollPosition.X + _flex.Cols[c].Left + 5;
int y = _flex.ScrollPosition.Y + _flex.Rows[r].Top + 5;
// ... ...
}




注:_flex.Cols[c].Left 第三方控件的,是正确的
...全文
211 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2012-09-21
  • 打赏
  • 举报
回复
cellpainting或grid的OnPaint中画
zhq1001 2012-09-21
  • 打赏
  • 举报
回复
可尝试用 e.Row, e.Col 的方式解决,
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 在本文中,我们将探讨如何使用C#语言开发一个类似Windows自带画图工具的Winform画图板应用程序。项目重点是借助Windows Forms库搭建界面,并通过GDI+图形接口实现绘图功能。以下是关键知识点: Windows Forms (Winform) 应用程序:Winform是.NET Framework中的UI框架,用于开发桌面应用,提供丰富控件和事件处理机制,便于构建交互式界面。 图形用户界面 (GUI):创建一个空白Form作为画布,设置其大小和背景色,用户可在该区域绘图。 GDI+:GDI+是.NET Framework中的图形处理库,用于处理图形、图像和文本。在项目中,我们通过GDI+实现绘图功能。 Graphics对象:在C#中,System.Drawing.Graphics类代表绘图表面,我们可在窗体的Paint事件中获取该对象并进行绘图。 Pen与Brush对象:Pen对象用于定义线条的颜色、宽度和样式,绘制线条和形状轮廓;Brush对象用于填充形状内部,可指定颜色或图案。 基本绘图方法:包括DrawLine()绘制直线、DrawRectangle()绘制矩形、DrawEllipse()绘制椭圆、DrawArc()绘制弧线、DrawCurve()绘制曲线、DrawString()绘制文本等。 交互式绘图:通过监听MouseDown、MouseMove和MouseUp事件实现鼠标拖动时的实时绘图,MouseMove事件中根据鼠标移动持续绘制。 图片的打开与保存:使用OpenFileDialog让用户选择图片文件,通过Image.FromFile加载到PictureBox控件;SaveFileDialog用于保存绘图作品,支持BMP、JPEG等格式。 文字绘制:利

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧