C# MDI 画图难点

joyclick 2009-11-26 08:04:36
小弟我打算 使用 mdi 开一个新的窗口 , 然后 在这个 窗口上画 线, 画 长方形......

可是 ,子窗体是开出来. 可是 怎么也画不上去. 鼠标事件也监听不到

个位高人, 那位知道, 怎么才能画在 子窗体上, 并监听鼠标事件.


部分 代码, 如下, 变量都是 之前 定义好的, 程序可以运行, 没错, 但是, 不能出结果.

private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
Form child_form = new Form();

child_form.MdiParent = this;

child_form.Text = "child_" + child_form.Name + " " +form_count.ToString() ;

form_count++;

child_form.BackColor = Color.White;

child_form.Show();

activeChild = this.ActiveMdiChild;


}//end of method



private void Form1_MdiChildActivate_1(object sender, EventArgs e)
{
MessageBox.Show("You are in the Form.MdiChildActivate event."); -------------------messagebox 能够出来, 画图出不来.

Graphics g = activeChild.CreateGraphics();

g.DrawLine(new Pen(Color.Red), 33f, 44f, 133f, 244f);
g.DrawRectangle(new Pen(Color.Purple), 33, 22, 44, 55);
}


多谢了, 还有要知道怎么监听 子窗体的 鼠标事件, 并在实践发生的时候做操作--就是写函数 , 别忘了 留句话.



...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sugar_Tiger 2009-11-26
  • 打赏
  • 举报
回复
Graphics对象取子窗体要画的控件即可.
Graphics g=Graphics.这里有很多重载方法的
ctwei86 2009-11-26
  • 打赏
  • 举报
回复
直接在子窗体的Paint事件中写。

private void Form2_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen p = new Pen(Color.Red);
g.DrawLine(p, 1, 1, 22, 22);
}
joyclick 2009-11-26
  • 打赏
  • 举报
回复
难道没有 指点一下?

110,536

社区成员

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

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

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