浅学C#(19)——多文档界面(MDI)、鼠标键盘事件

版权声明:转载请注明出处 https://blog.csdn.net/le_17_4_6/article/details/86636366
多文档界面(MDI)
  • 创建MDI父窗体
    IsMDIContainer属性设置为true
    根据需要可将WindowState属性设置为Maxmized
    创建一个”窗口“顶级菜单项,用于跟踪打开的MDI窗口
    将菜单的MdiWindowListItem设置为”窗口“菜单项
    创建MDI子窗体
    右击项目-》添加-》Windows窗体

  • 确定活动的MDI子窗体
    一个MDI应用程序可以有同一个子窗体的多个实例,通过ActiveMDIChild属性,可以得到当前具有焦点的子窗体或返回最近活动的子窗体。
    当窗体上有数个控件时,通过ActiveControl属性,可以得到当前活动的子窗体上有焦点的控件。

  • 排列子窗体
    public void LayoutMdi ( MdiLayout value )
    LayoutMdi方法可以使用4个不同MdiLayout枚举值中的一个
    MdiLayout.ArrangeIcons
    所有 MDI 子图标均排列在 MDI 父窗体的工作区内。
    Cascade
    所有 MDI 子窗口均层叠在 MDI 父窗体的工作区内。
    TileHorizontal
    所有 MDI 子窗口均水平平铺在 MDI 父窗体的工作区内。
    TileVertical
    所有 MDI 子窗口均垂直平铺在 MDI 父窗体的工作区内。

  • 菜单合并
    菜单项的MergeAction属性
    指定一个菜单项与另一个菜单合并时应如何操作
    Append 将该菜单项放在菜单的最后位置上
    Insert 插入到满足条件的菜单项的前面
    MatchOnly 需要匹配,但不插入菜单项
    Remove 删除满足条件的菜单项,以插入新菜单项
    Replace 替换匹配的菜单项,把下拉菜单项添加到新加入的菜单项的后面
    菜单项的MergeIndex属性
    表示菜单项相对于要合并的其它菜单项的位置
    如果要控制所合并菜单项的顺序,就将该属性设置为>=0的值,否则将它设置为-1
    菜单的AllowMerge属性
    设置为false表示菜单不合并

鼠标事件处理

MouseEventArgs
x
产生鼠标事件时的x坐标
y
产生鼠标事件时的y坐标
Clicks
单击鼠标按钮的次数
Button
指示按下哪个鼠标按钮(left, right, middle 或 none)
Location
产生鼠标事件时的位置

鼠标事件

MouseEnter
鼠标指针进入控件区域时触发
MouseLeave
鼠标指针离开控件区域时触发
MouseDown
在控件上按下鼠标时触发
MouseUp
MouseHover
鼠标指针在控件上触发的事件
MouseMove
鼠标指针在控件上移动触发的事件

键盘事件

KeyDown
KeyUp
KeyPress
键按下时触发,按照操作系统指定的速度重复触发
代理KeyPressEventHandler, 事件参数 KeyPressEventArgs
类KeyPressEventArgs属性
KeyChar
返回被按下按钮的ASCII字符
ASCII码不支持功能键或修饰键
如果按下的键不是ASCII字符,那么就不会触发KeyPress事件
Handled
表示KeyPress事件是否处理了

类KeyEventArgs属性

Alt
指示Alt键是否按下
Control
指示Control键是否按下
Shift
指示Shift键是否按下
Handled
指示事件是否被处理

KeyCode
将按键的键码用Keys枚举值返回。不提供任何关于修饰键的信息

KeyData
将键码用Keys枚举值返回,并带有修饰键信息
KeyValue
将键码作为整数值返回,该值是Windows虚拟键码
Modifiers
返回任何按下的修饰键的Keys枚举值(Alt, Control和Shift),只用于判别修饰键信息

猜你喜欢

转载自blog.csdn.net/le_17_4_6/article/details/86636366
今日推荐