常用的窗体控件

news2025/1/10 20:31:33

常用窗体控件

MenuStrip:一个标准的菜单栏控件,可以添加菜单单项和子菜单项

在这里插入图片描述

//双击子菜单项同样可以添加点击事件
//menu:菜单    item:菜单选项
//当点击新建选项的时候触发的事件
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) {
  MessageBox.Show("您点击了新建选项");
}

ContextMenuStrip 用于在右键点击时显示一个上下文菜单。它提供了一个可定制的菜单,允许用户选择不同的操作或选项。

在这里插入图片描述

//双击 ‘设置’ 子菜单绑定点击事件
private void 设置ToolStripMenuItem_Click(object sender, EventArgs e) {
  MessageBox.Show("进入了设置操作");
}

ProgressBar用于显示操作进度的控件,它通常用于长时间运行的任务中,以向用户显示任务的完成进度。

  • Value 属性:用于设置 ProgressBar 当前的值,可以在代码中通过该属性来更新 ProgressBar 的进度。
private void button1_Click(object sender, EventArgs e) {
  // 模拟长时间运行的任务
  for (int i = 0; i <= 100; i++) {
    Thread.Sleep(50); // 暂停 50 毫秒
    progressBar1.Value = i; // 更新 ProgressBar 的值
  }
  MessageBox.Show("任务执行完成!");
}

DateTimePicker是一个选择日期和事件的控件。提供了一个可视化的界面,允许用户选择日期和时间,并将选择的值作为DateTime类型的数据进行处理。

  • Value:设置或获取DateTimePicker当前选定的日期时间值。
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
	//获取选中的日期并在label1中显示
    label1.Text = dateTimePicker1.Value.ToString();
}

Timer 定时器控件,用于触发周期性的事件。它可以在指定的时间间隔内重复执行操作,常用于实现周期性的任务或动画效果。

  • Interval:定时器的时间间隔(单位毫秒)

在这里插入图片描述

 //给两个button按钮绑定的事件
 private void button1_Click(object sender, EventArgs e) {
     timer1.Start();//开启定时器
 }
 private void button2_Click(object sender, EventArgs e) {
     timer1.Stop();//暂停定时器
 }

 //计时器控件,会根据设置的间隔执行一次
 private void timer1_Tick(object sender, EventArgs e) {
    label1.Text = DateTime.Now.ToString(); //更新显示当前时间的标签
 }

StatusStrip用于在窗体底部显示状态栏。它提供了一种方便的方式来显示应用程序的状态信息、进度条等。

在这里插入图片描述

ColorDialog 用于在应用程序中显示一个颜色选择对话框,允许用户选择颜色。

//调用颜色选择框
private void button1_Click(object sender, EventArgs e) {
  colorDialog.AllowFullOpen = true; // 允许用户自定义颜色
  //弹出颜色对话框,并且按下确定按钮的时候执行
  if (colorDialog1.ShowDialog() == DialogResult.OK) {
    BackColor = colorDialog1.Color;
  }
}

FontDialog 用于选择字体的对话框控件,它允许用户从系统中选择字体、字号和样式,并将所选的字体应用于应用程序中的文本。

//调用字体选择框
private void button2_Click(object sender, EventArgs e) {
  if (fontDialog1.ShowDialog() == DialogResult.OK) {
    label1.Font = fontDialog1.Font;
  }
}

folderBrowserDialog1 用于在应用程序中显示一个文件夹选择对话框,允许用户选择文件夹路径。

//调用文件夹选择框
private void button3_Click(object sender, EventArgs e) {
  if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {
    this.label2.Text = folderBrowserDialog1.SelectedPath;
  }
}

openFileDialog 用于在应用程序中显示一个打开文件对话框,允许用户选择一个或多个文件。

 //打开文件
 private void button4_Click(object sender, EventArgs e) {
   if (openFileDialog1.ShowDialog() == DialogResult.OK) {
     // Image.FromFile 通过路径创建一张图片
     // FileName 选中的路径
     pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
   }
 }

saveFileDialog 用于在应用程序中显示一个保存文件对话框,允许用户选择保存文件的路径和文件名。

//存储文件到本地
private void button5_Click(object sender, EventArgs e) {
  saveFileDialog1.ShowDialog();
  File.WriteAllText(saveFileDialog1.FileName, richTextBox1.Text);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1362077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 镜像以及镜像分层

Docker 镜像以及镜像分层 1 什么是镜像2 Docker镜像加载原理2.1 UnionFs&#xff1a;联合文件系统2.2 Docker镜像加载原理2.3 Docker镜像的特点 3 镜像的分层结构4 可写的容器层 1 什么是镜像 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行…

玩转Mysql 三(权限管理)

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。 一、用户管理 1、登录MySQL服务器 语法示例&#xff1a; mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句" 详细命令…

【LeetCode:2807. 在链表中插入最大公约数 | 链表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

响应式开发

响应式开发的原理Bootstrap前端开发框架Bootstrap栅格系统阿里百秀首页案例 响应式开发原理 1 响应式需要一个父级做为布局容器&#xff0c;来配合子级元素来实现变化效果。 2 在不同屏幕下&#xff0c;通过媒体查询来改变这个布局容器的大小&#xff0c;再改变里面子元素的排…

MySQL之视图内连接、外连接、子查询

一、视图 1.1 含义 虚拟表&#xff0c;和普通表一样使用 视图&#xff08;view&#xff09;是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。但是&#xff0c;数据库中只存放了视图的定义&#xff0c;而并没有存放…

PEFT: 在低资源硬件上对十亿规模模型进行参数高效微调

1 引言 最近&#xff0c;深度学习的研究中出现了许多大型预训练模型&#xff0c;例如 GPT-3、BERT 等&#xff0c;这些模型可以在多种自然语言处理任务中取得优异的性能表现。而其中&#xff0c;ChatGPT 模型因为在对话生成方面的表现而备受瞩目&#xff0c;成为了自然语言处理…

JavaWeb 页面上显示中文乱码解决~

你们好&#xff0c;我是金金金。 场景 我正在学习servlet&#xff0c;通过write()方法向页面上写入中文数据&#xff0c;没想到显示的都是?? 乱码&#xff0c;如图 排查 很明显可以看出来页面上显示的是??&#xff0c;我猜想肯定是字符编码的问题&#xff0c;导致乱码 造成…

Mybatis分页插件PageHelper的配置和使用

文章目录 每页10条记录&#xff0c;取第一页&#xff0c;返回的是前10条记录每页10条记录&#xff0c;取第二页&#xff0c;返回的是第11条记录&#xff0c;到第20条记录&#xff0c; MySQL对分页的支持 简单来说MySQL对分页的支持是通过limit子句。请看下面的例子。 limit关键…

[每周一更]-(第81期):PS抠图流程(扭扭曲曲的身份证修正)

应朋友之急&#xff0c;整理下思路&#xff0c;分享一下~~ 分两步走&#xff1a;先用磁性套索工具圈出要处理的图&#xff1b;然后使用透视剪裁工具&#xff0c;将扭曲的图片拉平即可&#xff1b;(macbook pro) 做事有规则&#xff0c;才能更高效;用什么工具&#xff0c;先列举…

【非关系型数据库】Redis概述及安装、命令使用

目录 前瞻 关系型数据库 非关系型数据库 关系型数据库和非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 总结 Redis简介 什么是Redis Redis具有的优点 Redis使用场景 哪些数据适合放入缓存中&#xff1f; Redis为什…

MySQL基础笔记(2)DDL数据定义语句

一.数据库操作 1.展示 展示目前DBMS中全部的数据库~ show databases; 2.查询 查询当前所处的数据库~ select database(); 3.创建 创建一个数据库&#xff08;中括号包裹的部分均为可选项~&#xff09; Create database [if not exists] 数据库名 [default charset 字符…

虾皮怎么上架商品:如何在Shopee上上架商品?完整步骤指南

在虾皮&#xff08;Shopee&#xff09;平台上上架商品是一个相对简单的过程&#xff0c;但是对于新手卖家来说可能会感到有些困惑。不用担心&#xff0c;本文将为您提供一个完整的指南&#xff0c;详细介绍在Shopee上上架商品的步骤和注意事项。 先给大家推荐一款shopee知虾数据…

用友U8 Cloud smartweb2.RPC.d XXE漏洞复现

0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 Cloud smartweb2.RPC.d接口处存在 XXE漏洞,攻击者可通过该漏洞获取敏感文件…

内核线程创建-kthread_create

文章参考Linux内核线程kernel thread详解 - 知乎 大概意思就是早期创建内核线程&#xff0c;是交由内核处理&#xff0c;由内核自己完成&#xff08;感觉好像也不太对呢&#xff09;&#xff0c;创建一个内核线程比较麻烦&#xff0c;会导致内核阻塞。因此就诞生了工作队列以及…

线性代数第一课+第二课总结

第一课 第一课是简单的行列式计算&#xff0c;主要就是要把左下角的数字全部转换为0&#xff0c;通过减去其他行的式子即可实现&#xff0c;最后把对角线的所有数字相乘&#xff0c;得到的结果是最后行列式的答案 第二课 例题1 硬算理论上其实也是可行的&#xff0c;但是使…

小程序如何配置扫码点餐功能

在餐饮行业中&#xff0c;通过小程序扫码点餐是一种非常方便和高效的方式。下面具体介绍怎么给小程序设置扫码点餐功能。 一、给每个桌子设置单独的小程序码。管理员点击个人中心->我的管理->更多->门店码。 生成小程序码页面&#xff0c;各个字段解释如下。 会员卡…

html引入react以及hook的使用

html引入react 效果代码注意 效果 分享react demo片段的时候&#xff0c;如果是整个工程项目就有点太麻烦了&#xff0c;打开速度慢&#xff0c;文件多且没必要&#xff0c;这个时候用html就很方便。 在html中能正常使用useState 和 useEffect 等hook。 代码 <!DOCTYPE htm…

sublim安装Autoprefixer插件

有时候在写css样式的时候&#xff0c;分不清哪些属性需要前缀&#xff0c;哪些不需要写前缀&#xff0c;sublime text这款编辑器下安装autoprefixer这款插件可以省去很多问题&#xff0c;写起来也很方便。1 确保系统已经安装node.js 可直接去官网上下载并安装&#xff0c;我的系…

差分电路原理以及为什么输出电压要偏移

我们在使用放大器芯片的时候&#xff0c;除了对放大器芯片本身应用外&#xff0c;通常还需要搭建一些外围电路来满足放大器芯片的使用条件&#xff0c;最终满足应用的功能&#xff0c;下面通过一个差分电路来熟悉这些应用。 差分运算放大电路&#xff0c;对共模信号得到有效抑…

Multisim各版本安装指南

Multisim下载链接 https://pan.baidu.com/s/1En9uUKafhGOqo57V5rY9dA?pwd0531 1.鼠标右击【Multisim 14.3(64bit)】压缩包&#xff08;win11及以上统需先点击“显示更多选项”&#xff09;选择【解压到 Multisim 14.3(64bit)】。 2.打开解压后的文件夹&#xff0c;双击打开【…