C#应用程序界面开发基础——窗体控制(6)——菜单栏、工具栏和状态栏控件

2023-05-16

菜单栏、工具栏和状态栏控件

菜单栏描述了一个窗体的大致功能和风格。通过工具栏能够快速执行相应的功能,并且具有和菜单一样的功能,而状态栏常用于显示 一些状态信息。

1、菜单控件

菜单(MunuStrip)控件是一个菜单栏控件,可以加载菜单栏,在很多系统中都使用。该控件由System.Windows.Forms.MenuStrip类提供,取代了以前的MainMenu控件,是应用程序菜单结伴的容器。

编写程序,使用MunuStrip控件完成一个记事本的菜单栏设计。

开发步骤如下:

1、在工具笨中找到MuneStrip控件,并拖曳到窗体。

 

2、在文本框中输入“文件(&F)”后,就会生成“文件(F)”。在此处,F所表示的意思就是在按下Alt+F组合键时,会弹出“文件”的下拉列表菜单,而连接符“&”就是用来识别被确认的字符 。

3、在“文件(F)”的下拉列表中输入“新建(N)”,而该菜单项的快捷键是通过ShortcutKeys属性进行添加的。这里还需要注意在下拉列表中有分隔线,是通过在文本框中输入“-”再回车完成的。

 

 

 

4、添加完毕。

2、工具栏控件

工具栏(ToolStrip)控件是另一种获取应用程序主要功能的常用方法,比菜单更直观。ToolStrip控件是由Stystem.Windows.Forms.ColStrip类提供的,作用是创建易于自定义的常用工具栏,让这些工具栏支持高级用户界面和布局功能,如停靠、漂浮、带文本和图像的按钮、下拉按钮等。

编写程序,使用ToolStrip控件完成一个工具栏的设计。

开发步骤如下:

1、在工具箱中找到ToolStrip控件,并拖曳到窗体中。

2、单击ToolStrip控件中向下箭头的提示图标。

当单击向下的箭头时,会显示一个下拉菜单,在该菜单中有8种不同的类型,分别如下:

Button:包含文本和图像的项,可让用户选择。

Label:包含文本和图像的项,不可以让用户选择,可以显示超链接。

SplitButton:在Button的基础上增加一个下拉菜单。

DropDownButton:用于下拉菜单选择项。

Separate:分隔符。

ComboBox:显示一个ComboBox项。

TextBox:显示一个TextBox项。

ProgressBar:显示ProgressBar项。

3、添加相应的工具栏按钮后,可以设置按钮显示的图像。

4、运行程序。

3、状态栏控件

状态栏(StatusStrip)控件通常在对话框底部的一栏,用于显示应用程序当前状态的简短信息。该控件不仅包含DropDownButton控件、ProgressBar控件和SplitButton控件,还包含它专用的一个控件,即StatusLabel控件,作用就是使用文本和图像向用户显示应用程序当前状态的信息。

编写程序,使用StatusStrip控件完成一个状态栏的设计,然后显示出TextBox控件中的字符个数

添加三个控件,分别为TextBox、Button和StatusStrip控件.

 

 

 

 

 添加button_Click事件,首先定义变量index,用于获取当前行的第一个字符的索引值;然后再定义变量column,用于存储字符个数。由于文本框中的字符序列是从0开始计数,所以使用textBox1.SelectionStart属性,获取光标所在位置的索引值,再减去第一个字符所占的位置,这样计算出了字符的个数。

 代码不对了,添加了toolStripStatusLabel1 

继续输入代码:

完整代码: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int index=textBox1.GetFirstCharIndexOfCurrentLine();
            int column = textBox1.SelectionStart - index;
            toolStripStatusLabel1.Text = "字符数:" + column + "个";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "字符数:";
        }
    }
}

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#应用程序界面开发基础——窗体控制(6)——菜单栏、工具栏和状态栏控件 的相关文章

  • C++程序设计实践指导——第一章 简单编程 (2)

    第一章 简单编程 xff08 2 xff09 1 9 统计与替换字符串中的关键字 建立一个类WordNum xff0c 统计一个英文字符串中的英文单词个数 字符串中的各英文单i司以一个或多个空格分隔 如字符串 34 I am a stude
  • STL+Python+图像处理-学习资源

    1 C 43 43 STL学习网站 CPlusPlus com CppReference com gcc gnu org 2 Python学习书籍及网站 Python Crash Course Learn Python the Hard W
  • STL----------C++Primer(笔记)

    1 string string word cin gt gt word getline cin word 关系操作符 lt lt 61 gt gt 61 include lt cctype gt 头文件 string s 61 34 Hel
  • 侯捷-STL与泛型编程(GP)笔记

    1 stl体系结构基础介绍 分配器 xff08 allocator xff09 xff1a 主管分配内存 适配器 xff08 adaptor xff09 xff1a 进行一个转换 xff0c 与另一个对象绑定 include lt iost
  • 课程作业——数据结构与算法C++(1)

    课程作业6 xff08 归并排序 冒泡排序 插入排序 选择排序 xff09 归并排序 冒泡排序 插入排序 选择排序 主程序 include lt iostream gt include lt vector gt using std vect
  • C++程序设计实践指导——第二章 样例讲解

    复数计算器 include lt iostream gt include lt cmath gt include lt string gt include lt fstream gt include lt ctime gt using na
  • 步进电机控制与LCD显示L297与L298

    步进电机控制与LCD显示L297与L298 上次介绍了PWM和L298结合的电机调速 xff01 接下来介绍L297与L298结合的例子 xff01 PWM电机调速 下面是L297的简介 xff1a L297是步进电机专用控制器 xff0c
  • 变分自编码器(一):原来是这么一回事

    https kexue fm archives 5253 过去虽然没有细看 xff0c 但印象里一直觉得变分自编码器 xff08 Variational Auto Encoder xff0c VAE xff09 是个好东西 于是趁着最近看概
  • Linux 安装npm

    1 root 登录linux 2 cd usr loacl node 没有目录就自己创建一个 3 wget https npm taobao org mirrors node v4 4 7 node v4 4 7 linux x64 tar
  • DE1-SOC开发笔记

    verilog FPGA 采用verilog开发语言 xff0c 使用时序和组合逻辑 进行行为 xff0c 数据流 xff0c 结构建模 RTL级编程 xff0c 在实际板卡上面验证逻辑的正确性 sopc xff1a 软硬件结合的开发方式
  • 关于立创EDA使用的几点心得

    对于立创EDA 与AD仅为小白 xff0c 仅布过简单的双层板 xff0c 以下仅记录自己的几点心得 1 如果想要在立创商城 xff0c 嘉立创实现打板贴片一体化 xff0c 采用的普遍的两种方法 xff1a 立创EDA xff0c 有在线
  • 《当下即是生活》季羡林——读书笔记

    目录 书籍简介 经典摘录 三思而行 满招损 xff0c 谦受益 牵就与适应 睁一只眼 闭一只眼 论压力 论恐惧 难得糊涂 春色满寰中 槐花 书籍简介 作者季羡林 本书精选季羡林关于人生活法的散文 xff0c 阐述一个人怎样活在当下 xff0
  • Python装饰器

    Python的装饰器 decorator 可以说是Python的一个神器 xff0c 它可以在不改变一个函数代码和调用方式的情况下给函数添加新的功能 Python的装饰器同时也是Python学习从入门到精通过程中必需要熟练掌握的知识 小编我
  • Python学习笔记--带参数的装饰器

    带参数的装饰器 装饰器的副作用柯里化functools带参数的装饰器多参数小结 装饰器的副作用 def fn 39 39 39 this is fn 39 39 39 help fn 结果 xff1a Help on function fn
  • 六、51单片机之定时器/计数器_理论

    1 什么是定时器 计数器 定时器就是单片机设定一个时间间隔 xff0c 时间间隔到后通知单片机 例如设置100ms的定时器 xff0c 100ms后定时器通知单片机时间到了 1 定时器是单片机的一种内部外设 以前的单片机只有CPU 也就是只
  • 八、51单片机之蜂鸣器

    1 蜂鸣器的原理 蜂鸣器分为有源蜂鸣器和无源蜂鸣器 这里的 源 不是指电源 xff0c 而是指震荡源 1 1 无源蜂鸣器 1 早期蜂鸣器都是无源的 2 内部没有震荡电路 xff0c 无源蜂鸣器比有源蜂鸣器更便宜 3 无源蜂鸣器内部没有震荡源
  • CSS3实现loading效果

    前言 晚上躺床上刷视频的时候看到有个前端大佬写了一个loading xff0c 这是效果 xff1a loading 感觉也挺有意思哈 xff0c 要不自己也写一个 xff0c 学习 43 复习 两不误 但是又因为太晚了 xff0c 不想起
  • C#应用程序界面开发基础——窗体控制(2)——MDI窗体

    MDI窗体 单文档界面 xff08 SDI xff09 多文档界面 xff08 MDI xff09 MDI窗体的概念 MDI窗体 xff08 Multiple Document Interface xff0c 多文档界面 xff09 用于同
  • windows 10 + GTX1650 环境下基于TensorFlow的深度学习环境配置

    因论文需要 xff0c 简单的记录一个深度学习环境的配置过程 说明 xff1a 与广为应用的基于Anaconda的深度学习环境配置方法不同的是 xff0c 本文直接基于Python基础环境 43 Pycharm进行环境的配置 xff0c 不
  • TX2硬盘扩展

    TX2硬盘扩展 硬件平台 xff1a NVIDIA TX2 Samsung SSD 860EVO 系统平台 xff1a Ubuntu 18 04 LTS 安装 将硬盘连接至侧边SATA接口 扩展home 1 查看硬盘所有分区 sudo fd

随机推荐