不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
MDI开发实例
编辑:dnawo 日期:2008-09-09
实现功能:在父窗体中有两个菜单:新建和获取内容,点击新建时新建一个子窗体,点击获取内容时获取当前子窗体内一文本框的内容。
操作步骤:
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改为public;
5.在Form1中添加一个MenuStrip控件,新建两个菜单菜"新建"和"获取内容",给两个菜单的Click事件分别添加处理程序,最终Form1的代码如下:
最终效果:
操作步骤:
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;
}
}
}
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 | 引用: 0 | 查看次数: 4246
发表评论
请登录后再发表评论!