zoukankan      html  css  js  c++  java
  • Windows Forms编程实战学习:第三章 菜单

    第三章 菜单

    1,控件和容器

    所有的Windows Forms控件都是从System.Windows.Forms.Control类继承的,相关类的层次结构如下图所示:

    MarshalByRefObject类表示必须通过引用进行列集(marshale)的对象。列集表示从一个上下文环境中传递一个数据项使它可以在另一个上下文环境中被理解的一种机制。只在创建它们的进程中有效,必须通过引用才能在进程外使用。

    Component类为通过引用进行列集的对象提供了IComponent接口。组件是可以在容器中存在的对象,并且可以通过Dispose方法清理系统资源。

    ButtonBase是所有按钮的基类,包括单选和复选按钮。

     

    容器类:可以包含其他控件的控件称为容器控件。Control类本身提供了对容器的支持,例如Controls属性和GetNextControl方法。

     

    Form类的层次结构

    其中ScrollableControl提供了包含对象自滚动的功能。

    ContainerControl类表示提供焦点管理的控件,提供了它所包含的控件集合的逻辑边界。这个类追踪容器中的活动控件,还负责管理容器中各个控件的Tab顺序。

     

    Control类的常用属性、方法和事件

    公共属性

    AllowDrop

    是否允许拖放

    Anchor

    锚定设置

    BackColor

    背景色

    ContextMenuStrip

    上下文菜单

    Controls

    控件所包含的控件

    ClientRectangle

    获取客户区域,DisplayRectangle获取控件的显示区域。

    Cursor

    鼠标出现在这个控件上所呈现的光标

    Enabled

    是否启用这个控件

    Location

    控件的位置

    Parent

    控件的父控件

    TabIndex

    Tab索引

    TabStop

    是否启动Tab

    Text

    控件关联的文本

    Visible

    是否可见

    公共方法

    BringToFront

    使这个控件出现在Z序的最前边

    GetNextControl

    按照Tab顺序返回上一个或下一个控件

    Invalidate

    强制这个控件的全部或部分重绘

    PointToClient

    把一个屏幕位置转换为客户坐标

    公共事件

    Click

    点击时发生

    KeyPress

    具有焦点且按下按钮时发生

    MouseUp

    鼠标光标位于控件内部时,释放一个按钮时发生

    Paint

    全部或部分重绘时发生

     

    2,菜单

    菜单一般分为传统菜单(主菜单或者锚定菜单)和上下文菜单(弹出菜单或者快捷菜单)。.Net中的上下文菜单一般与控件相关联。

    ToolStrip:可滚动控件

    MenuStrip:菜单

    StatusStrip:状态栏

    ContextMenuStrip:弹出式菜单

     

    ToolStripMenuItem表示一个菜单项。MenuStrip和ContextMenuStrip对象是简单的容器。

    ToolStripDropDownItem:

    公共属性

    Checked

    是否在右边显示选中标记

    CheckState

    三态

    Enabled

    是否启用

    Overflow

    如何与重合的按钮进行交互,基于ToolStripItemOverflow枚举

    ShortcutKeyDisplay_String

    快捷键显示的字符串,若为空,显示为实际值。

    ShortcutKeys

    快捷键,基于Keys的枚举

    ShowShortcutKeys

    显示菜单是是否显示ShortcutKeys设置

    公共事件

    CheckedChanged

    Checked属性变换

    CheckStateChanged

    CheckState状态变化

     

    namespace chapter_3

    {

    partial class Form1

    {

    /// <summary>

    /// 必需的设计器变量。

    /// </summary>

    private System.ComponentModel.IContainer components = null;

     

    /// <summary>

    /// 清理所有正在使用的资源。

    /// </summary>

    /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>

    protected override void Dispose(bool disposing)

    {

    if (disposing && (components != null))

    {

    components.Dispose();

    }

    base.Dispose(disposing);

    }

     

    #region Windows 窗体设计器生成的代码

     

    /// <summary>

    /// 设计器支持所需的方法 - 不要

    /// 使用代码编辑器修改此方法的内容。

    /// </summary>

    private void InitializeComponent()

    {

    this.menuStrip1 = new System.Windows.Forms.MenuStrip();

    this.fileFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

    this.loadLToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

    this.ExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

    this.menuStrip1.SuspendLayout();

    this.SuspendLayout();

    //

    // menuStrip1

    //

    this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {

    this.fileFToolStripMenuItem});

    this.menuStrip1.Location = new System.Drawing.Point(0, 0);

    this.menuStrip1.Name = "menuStrip1";

    this.menuStrip1.Size = new System.Drawing.Size(284, 25);

    this.menuStrip1.TabIndex = 0;

    this.menuStrip1.Text = "menuStrip1";

    //

    // fileFToolStripMenuItem

    //

    this.fileFToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {

    this.loadLToolStripMenuItem,

    this.ExitToolStripMenuItem});

     

    this.fileFToolStripMenuItem.Name = "fileFToolStripMenuItem";

    this.fileFToolStripMenuItem.Size = new System.Drawing.Size(53, 21);

    this.fileFToolStripMenuItem.Text = "File(&F)";

    this.fileFToolStripMenuItem.Click += new System.EventHandler(this.fileFToolStripMenuItem_Click);

    //

    // loadLToolStripMenuItem

    //

    this.loadLToolStripMenuItem.Name = "loadLToolStripMenuItem";

    this.loadLToolStripMenuItem.ShortcutKeyDisplayString = "";

    this.loadLToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.L)));

    this.loadLToolStripMenuItem.Size = new System.Drawing.Size(162, 22);

    this.loadLToolStripMenuItem.Text = "Load(&L)";

    this.loadLToolStripMenuItem.Click += new System.EventHandler(this.loadLToolStripMenuItem_Click);

    //

    // ExitToolStripMenuItem

    //

    this.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem";

    this.ExitToolStripMenuItem.Size = new System.Drawing.Size(162, 22);

    this.ExitToolStripMenuItem.Text = "Exit(&Q)";

    this.ExitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItem_Click);

    //

    // Form1

    //

    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

    this.ClientSize = new System.Drawing.Size(284, 261);

    this.Controls.Add(this.menuStrip1);

    this.MainMenuStrip = this.menuStrip1;

    this.Name = "Form1";

    this.Text = "Form1";

    this.menuStrip1.ResumeLayout(false);

    this.menuStrip1.PerformLayout();

    this.ResumeLayout(false);

    this.PerformLayout();

     

    }

     

    #endregion

     

    private System.Windows.Forms.MenuStrip menuStrip1;

    private System.Windows.Forms.ToolStripMenuItem fileFToolStripMenuItem;

    private System.Windows.Forms.ToolStripMenuItem loadLToolStripMenuItem;

    private System.Windows.Forms.ToolStripMenuItem ExitToolStripMenuItem;

    }

    }

     

     

    在顶层菜单中添加子菜单项,先创建ToolStripItem数组,然后用DropDownItem属性的AddRange方法添加到菜单中去。

     

    ToolStripItem表示ToolStrip的一个项

    公共属性

    AllowDrop

    重新排序和拖放操作是默认行为(false)还是自定义行为(true)

    Alignment

    与包含它的工具条起始还是末尾对齐

    Anchor

    如何粘附到容器的各个边缘

    BackColor

    背景色

    ClientRectangle

    内部绘制区域

    DisplayStyle

    定义是否为这个相显示文本,为ToolStripItemDisplayStyle枚举

    Enabled

    是否对用户交互做出响应

    Image

    所显示的图像

    MergeAction

    如何合并到一个目标工具条

    Parent

    父控件

    Text

    项相关联的文本

    ToolTipText

    提示文本,AutoToolTip设为true,使用Text设置提示文本

    Visible

    该项与子项是否可见

    公共方法

    Invalidate

    全部或部分重绘

    PerformClick

    调用Click事件

    公共事件

    Click

    点击

    DragDrop

    一个拖放操作完成时

    MouseUp

    位于项边界之内释放鼠标

    Paint

    绘制

     

    ToolStripButton:显示一个按钮

    ToolStripControlHost:几乎可以容纳所有的Forms控件。

    ToolStripDropDownItem:下拉式菜单,ToolStripMenuItem是其子类。

     

  • 相关阅读:
    JavaScript if 条件语句
    JavaScript while 循环
    JavaScript for 循环
    JavaScript 字典
    JavaScript 数组
    JavaScript 函数
    JavaScript 定时器
    JavaScript 字符串操作
    CEF js调用C#封装类含注释
    多网卡的环境下的发包
  • 原文地址:https://www.cnblogs.com/xyb930826/p/5303913.html
Copyright © 2011-2022 走看看