C# Form类学习

  1. Form.MdiChildActivate 事件 
    在多文档界面 (MDI) 应用程序内激活或关闭 MDI 子窗体时发生。
    可以使用此事件执行一些任务,如根据激活的 MDI 子窗体的状态更新该 MDI 子窗体的内容以及更改 MDI 父窗体中可用的菜单选项。
    private void Form1_MdiChildActivate(object sender, EventArgs e)
            {
    			// 所有子窗口都已经关闭
    			if (null == this.ActiveMdiChild)
                {
    				// 设置工具栏和菜单栏属性
    			}
    			// 所有子窗口都已经关闭
    			else
    			{
    				// 设置工具栏和菜单栏属性
    			}
            }

  2. Form.MdiChildren 属性
    获取窗体的数组,这些窗体表示以此窗体作为父级的多文档界面 (MDI) 子窗体。
    private void colseAllCommon()
            {
                foreach (Form form in this.MdiChildren)
                {
    				DialogResult dr = MessageBox.Show(Constant.STR_SAVE_IMAGR, Constant.STR_PROMPT, MessageBoxButtons.YesNoCancel);
    				// 选择是
    				if (dr == DialogResult.Yes)
    				{
    					// 保存
    					
    					// 关闭窗口
    					pf.Close();
    				}
    				else if (dr == DialogResult.No)
    				{
    					// 关闭窗口
    					pf.Close();
    				}
    				else if (dr == DialogResult.Cancel)
    				{
    					return;
    				}
                }
            }

  3. C#中MDI子窗口最大化后,子窗口的标题栏就会跑到父窗口菜单栏的上面:
    解决方法为设置父窗口的MainMenuStrip属性,使其值为menuStript(当前父窗口中菜单栏的名称)即可。
  4. 弹出居中显示对话框,设置FORM的StartPosition属性
    CenterParent            窗体在其父窗体中居中。    
    CenterScreen            窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
    Manual                  窗体的位置由Location属性确定。
    WindowsDefaultBounds    窗体定位在   Windows   默认位置,其边界也由   Windows   默认决定。
    WindowsDefaultLocation  窗体定位在   Windows   默认位置,其尺寸在窗体大小中指定。

    也就是说,CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中,当用Show()方法时应选择CenterScreen,用ShowDialog()方法时应选择CenterParent,这样才能让要显示的窗口居中。

    在SDI中用ShowDialog()方法,并且设置对应的窗体的StartPosition为CenterParent时就可以让窗体居中,当然也可以用CenterScreen也是一样的效果,只是含意不一样罢了.  
    而在MDI中只能用Show(),如果你用ShowDialog(),无论选择CenterParent或是CenterScreen都会出错,说ShowDialog只能用在顶级窗口之类的意思。用Show(),并且设置对应的窗体的StartPosition为CenterScreen时就可以让窗体居中。

    /// 
    /// 关于
    /// 
    /// 
    /// 
    private void About_Help_MenuItem_Click(object sender, EventArgs e)
    {
        // 
        About_Form form = new About_Form();
        form.StartPosition = FormStartPosition.CenterParent;
        form.ShowDialog();
    }

  5. 获取或设置当用户按 Enter 键时所单击的窗体上的按钮。
    设置Form的AcceptButton属性。
    在WinForm窗口中,按钮的状态会变成窗口的默认按钮,
    只要按下Enter键,就会触发按钮的单击事件
    这种效果与按钮获得焦点类似.

你可能感兴趣的:(C#)