欢迎来到天天文库
浏览记录
ID:37918614
大小:18.42 KB
页数:3页
时间:2019-06-02
《C#创建多文档视图多窗口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在网上查了一些资料,发现介绍C#创建多文档视图的文章少,而且说得都比较杂,所以自己将这些天学习的结果整理出来,分享一下,希望对那些刚开始接触使用C#创建多文档的人有所帮助1.如何创建多文档界面? 通过C#创建一个Window窗体后,在窗体的属性那里,把其中的IsMdiContainer属性设置为True,就能看到窗体已经变成MDI形式了2.为什么在MDI窗体上的客户区无法响应鼠标消息? 这是因为将窗体设置为MDI窗体后,VS会自动给添加一个MdiClient的容器,所有在客户区的操作都是在这个容器上面的,要想能响应相 应的鼠标操作,就必须将响应鼠标事件的
2、函数挂载到MdiClient容器上,可以按照下面的方式进行挂载viewplaincopytoclipboardprint?1.for (int i = 0; i < this.Controls.Count; i++) 2. { 3. MdiClient ClientMdi = this.Controls[i] as MdiClient; 4. if (ClientMdi != null) 5. { 6. ClientMdi.MouseMove += new System.Wind
3、ows.Forms.MouseEventHandler(ClientMdi_MouseMove); 7. ClientMdi.BackColor = Color.FromArgb(214, 213, 215); 8. } 9. } 10. 11. 12. 13. private void ClientMdi_MouseMove(object sender, MouseEventArgs e) 14. { 15. 16. .............
4、 17. } 3.如何在客户区创建窗体? 将子窗体的MdiParent属性设置为MDI窗体即可 viewplaincopytoclipboardprint?1.Form form1 = new Form(); 1. 2. Form form2 = new Form(); 3. 4. 5. 6. form2.MdiParent = this;(表示的就是form1) 7. 8. form2.show(); 4.如何拦截鼠标双击标题栏的消息? viewplaincopytoclipboardprint?
5、1.protected override void WndProc(ref Message m) 2. { 3. base.WndProc(ref m); 4. 5. //可以处理标题栏上的鼠标双击事件 6. if (m.Msg == 0x00A3) 7. { 8. 9. .......... 10. 11. } 12. 13. } 14. 15.
6、 5.如何处理点击标题栏上窗体最大化的消息? 重载窗体的OnResiz()函数6.如何让客户区中显示的窗体的位置在指定位置? viewplaincopytoclipboardprint?1.Form form1 = new form1(); //父窗体 2. 3. Form form2 = new form2(); //子窗体 4. 1. 2. 3. form2.StartPosition = FormStartPosition.Manual; 4. 5. form2.Bounds = new System.
7、Drawing.Rectangle(left, top, width, height); 大家有什么问题,可以留言交流哈,还请高手指教
此文档下载收益归作者所有