*****MdiContainer中绘图的问题*****

beegee 2003-10-27 05:50:50
想在多文档容器得底板上画图,于是重载OnPaint:
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
Graphics g;
g = Graphics.FromHwnd(this.MdiParent.Handle);

Pen pn = new Pen(Color.Blue,2);
g.DrawLine(pn,20,90,55,70);

p.Dispose();
g.Dispose();
}
但运行时总是出错.望高手指教!
...全文
56 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdznet 2004-01-13
  • 打赏
  • 举报
回复
楼上绝对正确。我试过用此方法画一背景。
ivsee 2004-01-04
  • 打赏
  • 举报
回复
这样试试
private void Form1_Load(object sender, System.EventArgs e)
{
foreach(Control c in this.Controls)
{
if(c is MdiClient)
{
MdiClient mc = c as MdiClient;
mc.Paint+=new PaintEventHandler(mc_Paint);
}
}
}

private void mc_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(SystemBrushes.Highlight,((MdiClient)sender).ClientRectangle);
}
zanblo 2004-01-04
  • 打赏
  • 举报
回复
Graphics g = this.Graphics;
Iamleo 2004-01-04
  • 打赏
  • 举报
回复
生成的g不对吧,为何不直接引用?
Graphics g = e.Graphics;
...
cdznet 2004-01-03
  • 打赏
  • 举报
回复
用 Paint 事件啊。我已经试过没问题。
beegee 2003-10-29
  • 打赏
  • 举报
回复
这一步我已经知道了 但在这个mdiclient上面创建的graphics不管用
Brunhild 2003-10-28
  • 打赏
  • 举报
回复
MID主窗体的背景实际上是一个MIDCLIENT类型的子窗体,你可以在主窗体的CONTROLS中找到,你在这个子窗体上试试。

参考:
http://expert.csdn.net/Expert/topic/2344/2344946.xml?temp=.2331201

beegee 2003-10-28
  • 打赏
  • 举报
回复
Up

110,571

社区成员

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

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

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