C#之Windows常用控件(续)及相关实例

C#之Windows常用控件(续)

七、工具栏、状态栏、菜单栏控件:后缀为Strip的控件系列中,分别是ToolStrip、StatusStrip、MenuStrip。

八、定时器控件Timer:常用于需要自动处理的场合,在GUI中不可见。常用属性包括:

1、Interval:引发事件的时间间隔长度,其值以毫秒为单位。

2、Start方法:打开计时器。

3、Stop方法:关闭计时器。

实例解析:实现功能为,创建MDI子窗体,创建两种界面的子窗体,一个是文档界面,一个是窗体界面。文档界面主要练习子窗体的创建及对子窗体的操作;窗体界面主要以调查大学生学习情况为例。

1、创建项目,名为MDIAPP。

2、建立MDI主窗体:进入项目,将默认窗体Form1重命名为“MDI”,并将其IsMdiContainer属性设置为True。该窗体用到菜单栏控件MenuStrip,单击Items属性后的…按钮,弹出“项集合编辑器”,添加三个ToolStripMenuItem控件,分别在左边的属性窗口中设置其属性。每个ToolStripMenuItem控件的DropDownItems属性里又可以添加ToolStripMenuItem控件。

QQ图片20160604165847.png

其最终效果图为:

QQ图片20160604170354.png

3、建立MDI子窗体:在解决方案资源管理中,右击项目名,在快捷菜单中选择“添加”—“Windows窗体”,依次添加两个Windows窗体,分别命名为MIDChild和FormChild。

QQ图片20160604201007.png

    MDIChild窗体应用到的控件有MenuStrip和RichTextBox;

QQ图片20160604201955.png

    FormChild窗体应用到的控件有Label、RichTextBox、ListBox、ComboBox、TextBox、CheckBox、GroupBox、Button、RadioButton、Timer和StatusStrip。

QQ图片20160604195636.png

4、编辑代码运行程序

(1)创建新文档类子窗体,在MDI窗体中点击“文件”-“新建”-“文档”编写代码。

 private int DChildCount = 0;
        private void 文档_Click(object sender, EventArgs e)
        {
            //新建文档,生成新的子窗体
            MDIChild aChild = new MDIChild();//创建子窗体对象
            aChild.Text = "Document" + ++ DChildCount;
            aChild.MdiParent = this;//建立父子窗体关系
            aChild.Show();//显示子窗体
        }

       运行效果图:


QQ图片20160604213600.png

(2)对文档的窗体操作,在MDI窗体的菜单栏中的“窗口”下拉菜单中添加“层叠”、“横向平铺”、“纵向平铺”及“排列图标”几项。单击“层叠”菜单选项的显示效果如图:

 private void 层叠ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //窗口层叠
            this.LayoutMdi(MdiLayout.Cascade);
        }

QQ图片20160604213529.png

(3)MDIChild子窗体对文档的编辑操作:复制、粘贴和剪切

private void 复制_Click(object sender, EventArgs e)
        {
            //拷贝到系统剪切板
            richTextBox1.Copy();
        }

        private void 粘贴_Click(object sender, EventArgs e)
        {
            //从系统剪切板粘贴
            richTextBox1.Paste();
        }

      在新建的Document1文档中,输入文字,选中,单击“编辑”菜单下的“复制”,换行再单击“编辑”-“粘贴”,可实现文字的复制粘贴功能。

QQ图片20160604214429.png

(4)FormChild窗体的操作

在MDI窗体“文件”-“打开”,编辑代码

private void 打开_Click(object sender, EventArgs e)
        {
            //打开FormChild子窗体
            FormChild bChild = new FormChild();//创建子窗体对象
            bChild.MdiParent = this;//建立父子窗体关系
            bChild.Show();//以无模式窗体调用
        }

QQ图片20160604224402.png

 private void button1_Click(object sender, EventArgs e)
        {
            richTextBox1.Text += textBox2.Text + "\n"; //“输入”按钮
        }
 private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("感谢参与!");//“显示”按钮
        }
private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            int i = listBox1.SelectedItems.Count;
            string s = "";
            int j = 0;
            for (j = 0; j < i; j++)
            {
                s += listBox1.SelectedItems[j].ToString() + "";
            }
            textBox4.Text = s;
        }
 private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                this.BackColor = Color.Red;
            }
        }
 private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            this.MaximizeBox = checkBox1.Checked;
        }
 private void timer1_Tick(object sender, EventArgs e)
        {
           toolStripStatusLabel1.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");//在状态栏显示时间
        }
 private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked)
            {
                this.BackColor = Color.Pink;
            }
        }

QQ图片20160604231932.png

学习来源:《Visual C#.NET实用教程》清华大学出版社 主编:师硕、于明
标签:

发表评论: