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

发布时间:2019-09-07 08:12:33编辑:auto阅读(1557)

    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  菜单最后效果

关键字