欢迎光临

木子屋

标题: MDI开发实例

作者: dnawo

日期: 2008-09-09 01:20 PM

分类: Win编程

内容: 实现功能：在父窗体中有两个菜单：新建和获取内容，点击新建时新建一个子窗体，点击获取内容时获取当前子窗体内一文本框的内容。
操作步骤：
1.打开Microsoft Visual Studio 2008新建一个Windows窗体应用程序；
2.将默认窗体Form1的IsMdiContainer属性设置为true，表示当前窗体是一个MDI容器(父窗体)；
3.再新建一Windows 窗体Form2；
4.在Form2中添加一个TextBox，命名为textBox1，将其Multiline属性设置为true，调整好大小，再打开Form2.Designer.cs设置textBox1的访问权限，找到：
复制内容到剪贴板 程序代码private System.Windows.Forms.TextBox textBox1;
将private改为public；
5.在Form1中添加一个MenuStrip控件，新建两个菜单菜"新建"和"获取内容"，给两个菜单的Click事件分别添加处理程序，最终Form1的代码如下：
复制内容到剪贴板 程序代码using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Form2 newForm;//新窗体实例
Form2 nowForm;//当前激活子窗体
int count = 0;//子窗体数量
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 菜单:新建子窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void NToolStripMenuItem_Click(object sender, EventArgs e)
{
count++;
newForm = new Form2();
newForm.Name = "New_" + count.ToString();
newForm.Text = "New_" + count.ToString();
newForm.MdiParent = this;//设置为当前窗体的子窗体
newForm.Activated += new System.EventHandler(ChildActivated);
newForm.Show();
}
/// <summary>
/// 菜单:获取子窗体文本框内容
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GToolStripMenuItem_Click(object sender, EventArgs e)
{
if (nowForm != null && Application.OpenForms[nowForm.Name]!=null)
{
MessageBox.Show(nowForm.textBox1.Text);
}
else
{
MessageBox.Show("当前没有子窗体或子窗体已经关闭!");
}
}
/// <summary>
/// 子窗体激活后将子窗体实例传给nowForm
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChildActivated(object sender, EventArgs e)
{
nowForm = (Form2)sender;
}
}
}
最终效果：

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.836 ms

返回

标题: MDI开发实例

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.836 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.914 ms

返回