1-4 多文档界面处理(3)

简介:

5   通过类的属性进行数据传值

     此次案例我们改变本节案例(1)数据传值的方法,通过建立类的属性将数据传递过去。
 
u  实验步骤(1):
     为传值目标窗口Form3定义相关属性信息如下:
小实验:  Form3目标传值窗体属性定义以及Load加载事件源代码:
public  partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }
        //建立私有变量
        private string some_name, email_address, topic, option;
        //属性姓名
        public string SomeName
        {
            get
            {
                return some_name;
            }
            set
            {
                some_name = value;
            }
        }
        //属性电子邮件
        public string Someemail
        {
            get
            {
                return email_address;
            }
            set
            {
                email_address = value;
            }
        }
        //属性主题
        public string Sometopic
        {
            get
            {
                return topic;
            }
            set
            {
                topic = value;
            }
        }
        //属性意见
        public string Someoption
        {
            get
            {
                return option;
            }
            set
            {
                option = value;
            }
        }
        private void Form3_Load(object sender, EventArgs e)
        {
            listBox1.Items.Add(SomeName);
            listBox1.Items.Add(Someemail);
            listBox1.Items.Add(Sometopic);
            listBox1.Items.Add(Someoption);
        }
}
 
u  实验步骤(2):
     修改录入数据窗口Form2button1_Click事件:
小实验:  修改后Form2button1_Click事件源代码:
private  void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || textBox2.Text == "")
            {
                MessageBox.Show("姓名,或者邮件信息禁止为空!""信息提示");
            }
            else
            {
                this.Hide();
                Formcc2 childForm2 = new Formcc2();
                 childForm2.SomeName = textBox1.Text;
                childForm2.Someemail = textBox2.Text;
                childForm2.Sometopic = comboBox1.SelectedItem.ToString();
                childForm2.Someoption = richTextBox1.Text;
                //原来的代码内容:childForm3.Show();
                //下面是更改后的代码内容
                childForm2.MdiParent = this.MdiParent;
                childForm2.Show();
            }
        }

1-5  菜单和菜单组件

u   本节学习目标:
n  了解菜单栏、主菜单和子菜单三个概念
n  掌握菜单的快捷方式操作
n  掌握菜单分割条设置
n  学习菜单导航的实际应用

1-5-1   简介

菜单是软件界面设计的一个重要组成方面。它描述着一个软件的大致功能和风格。所以在程序设计中处理好、设计好菜单,对于一个软件开发是否成功有着比较重要的意义。菜单的本质就是提供了将命令分组的一致方法,使得用户易于访问,通过支持使用访问键启用键盘快捷方式,达到快速操纵软件系统的目的。
菜单从分类来说,可以分为菜单栏、主菜单和子菜单三个概念。如图1-26所示:
1-26   菜单栏、主菜单与子菜单

1-5-2    菜单的实践操作

1案例学习:建立简单的菜单

1)建立Winform窗体并从工具箱的菜单和工具栏中拖放一个MenuStrip控件到窗体上。如图1-27所示:
1-27   拖放一个 MenuStrip 控件到窗体上
2)可以直接点击MenuStrip控件填写主菜单及子菜单名称,但是需要注意菜单命名时候避免直接录入汉字的问题。因为如果直接键入汉字命名菜单,则该菜单项的Name属性将出现汉字,不利于C#的编程。如图1-28所示。
1-28   直接的中文命名不利于程序开发
虽然上述设计不会出现代码错误,但是建议采用点击MenuStrip控件,选择该控件的Items属性,在展开的项目集合编辑器中直接设置的办法。如图1-29为打开Items属性后的项目集合编辑器。
1-29   打开 items 属性后的项目集合编辑器
3)如果在命名时候在Text属性处键入文件(&F,将会产生文件(F的效果,&将被认为是快捷键的字符。运行时候为alt+f键执行。同理,子菜单在命名时候可以相同的效果。如图1-29中的Text属性所示。
4)设置每个菜单项的ShortCutKeys属性。每个菜单项都有一个ShortCutKeys的属性,该项属性为用户自定义的快捷菜单组合键设置项。如图1-30所示,但注意在进行设置时候一方面要根据windows操作系统的常用快捷菜单设置,如退出一般是(alt+E),打开一般是(ctrl+O)等,另一方面至少需要一项修饰符和键的组合,否则将出错。
1-30   设置菜单的快捷键
5)在需要进行分割的时候,可以选择Separator选项进行功能性的分割,如图1-31所示。
1-31   为菜单设置分割条
6)最后形成菜单效果如图1-32所示
1-32   菜单最后效果




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201523,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
503 1
|
6月前
|
开发框架 前端开发 JavaScript
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
|
8月前
fastadmin编辑方法
fastadmin编辑方法
105 0
|
8月前
|
Linux
Qt实现多文档窗口
Qt实现多文档窗口
100 0
|
存储 前端开发 JavaScript
你可能需要的多文档页面交互方案(一)
你可能需要的多文档页面交互方案
133 1
|
安全 JavaScript 网络协议
你可能需要的多文档页面交互方案(二)
你可能需要的多文档页面交互方案
73 0
|
编译器 C# 图形学
unity2020学习(一)界面了解
了解unity游戏引擎开发界面
416 0
unity2020学习(一)界面了解
|
Web App开发
跨浏览器书签导入实例演示,更好的管理书签!
因为种种原因,我们可能会用到多个浏览器,每个浏览器上都会有一部分我们珍藏的书签,那么,是时候整理一下了,来个书签大集合!
245 0
跨浏览器书签导入实例演示,更好的管理书签!