c# 笔记 winform添加右键菜单,获取文件大小 ,多条件排序OrderBy、ThenBy,list<double>截取前5个

news/2024/9/20 10:02:01/文章来源:https://www.cnblogs.com/yzxxty/p/18421701

Winform右键菜单‌

要在C# Winform应用程序中添加右键菜单,‌你可以按照以下步骤操作:‌

1.‌创建菜单项‌

在Form的构造函数或加载事件中,‌创建ContextMenuStrip控件的实例,‌并为其添加菜单项。‌

2.‌绑定到控件‌

将ContextMenuStrip控件绑定到需要显示右键菜单的控件上,‌如Panel、‌DataGridView等。‌

3.‌编写菜单项事件‌

为每个菜单项编写点击事件,‌以实现所需的功能。‌

示例代码如下:‌

public Form1()
{InitializeComponent();ContextMenuStrip cms = new ContextMenuStrip();cms.Items.Add("菜单项1").Name = "menuItem1";cms.Items.Add("菜单项2").Name = "menuItem2";this.panel1.ContextMenuStrip = cms;cms.ItemClicked += Cms_ItemClicked;
}
private void Cms_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{switch (e.ClickedItem.Name){case "menuItem1":// 实现菜单项1的功能break;case "menuItem2":// 实现菜单项2的功能break;}
}

获取文件大小

在C#中,‌获取文件大小可以通过以下几种方式实现:‌

1.‌使用FileInfo类‌

FileInfo 类提供了 Length 属性,‌可以直接获取文件的大小。‌

FileInfo fileInfo = new FileInfo("文件路径");
long size = fileInfo.Length;

2.‌使用File类的静态方法‌

File.GetAttributes 方法可以用来获取文件的大小,‌但更常用的是获取文件属性,‌直接获取大小不是其主要用途。‌
更推荐使用 FileInfo 或下面的 FileStream。‌

3.‌使用FileStream类‌

通过创建 FileStream 实例并使用其 Length 属性获取文件大小。‌

using (FileStream fs = new FileStream("文件路径", FileMode.Open))
{long size = fs.Length;
}

在C#中,判断文件是否存在有以下几种实现方法:

方法一:使用File类的Exists方法

string filePath = "文件路径";
bool exists = File.Exists(filePath);

该方法会返回一个布尔值,表示文件是否存在。

方法二:使用Directory类的Exists方法

string filePath = "文件路径";
string directoryPath = Path.GetDirectoryName(filePath);
bool exists = Directory.Exists(directoryPath) && File.Exists(filePath);

该方法首先判断文件所在的目录是否存在,然后再判断文件是否存在,返回一个布尔值表示结果。

方法三:使用FileInfo类的Exists属性

string filePath = "文件路径";
FileInfo fileInfo = new FileInfo(filePath);
bool exists = fileInfo.Exists;

该方法使用FileInfo类的Exists属性来判断文件是否存在。

需要注意的是,以上方法都只判断文件是否存在,并不区分文件类型,无论是文本文件、图片文件,还是其他类型的文件都能通过这些方法判断是否存在。

多条件排序OrderBy、ThenBy

在C#中,‌实现多条件排序通常使用OrderBy和ThenBy方法。‌

1.‌基本用法‌

OrderBy:‌根据指定的键选择器函数对序列的元素进行排序。‌
ThenBy:‌在OrderBy排序的基础上,‌进一步根据指定的键选择器函数对序列的元素进行排序。‌

2.‌示例代码‌

var sortedList = list.OrderBy(x => x.Field1).ThenBy(x => x.Field2).ThenByDescending(x => x.Field3).ToList();

3.‌注意事项‌

OrderBy和ThenBy可以链式调用,‌实现多级排序。‌
可以使用OrderByDescending和ThenByDescending进行降序排序。‌

list截取前5个

using System;
using System.Collections.Generic;
using System.Linq;class Program
{static void Main(){List<double> list = new List<double> { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9 };List<double> firstFive = list.Take(5).ToList();foreach (double number in firstFive){Console.WriteLine(number);}}
}

参考链接
参考链接

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark(一)概述

基本概念Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎Spark vs HadoopSpark和Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信是基于内存,而Hadoop是基于磁盘Hadoop Spark类型 分布式基础平台, 包含计算, 存储, 调度 分布式计算工…

基于语义增强的少样本检测,突破新类别偏见 | ICIP24

Few-shot目标检测(FSOD)旨在在有限标注实例的情况下检测新颖对象,在近年取得了显著进展。然而,现有方法仍然存在偏见表示问题,特别是在极低标注情况下的新颖类别。在微调过程中,一种新颖类别可能会利用来自相似基础类别的知识来构建自己的特征分布,导致分类混淆和性能下…

如何解决Warning: include(): Failed opening file_path for inclusion问题

解决方法检查文件路径确认文件路径是否正确无误,包括路径中的每个目录和文件名。验证文件是否存在使用file_exists()函数检查文件是否真的存在于指定路径上。检查文件权限确认文件具有足够的权限供当前用户读取。可以使用chmod命令修改文件权限:bashchmod 644 file_path确认文…

如何解决Unknown column column_name in field list问题

当遇到 "Unknown column column_name in field list" 这类错误时,通常表明 SQL 查询中引用了一个不存在的列。这类错误通常会给出具体的列名和出错的位置。下面是一些详细的解决步骤: 解决方法:检查 SQL 查询:确认 SQL 查询中引用的列名是否正确。检查拼写错误或…

最小圆覆盖(html)

最小圆覆盖问题是什么呢?就是指在二维平面上有一堆点,然后我们要求一个最小半径的圆能够将所有点全部都包住,这就是最小圆覆盖问题。 最小覆盖圆的性质 性质1:最小覆盖圆是唯一的 证明:我们假设有两个圆O1,O2,他们半径都是r,都是最小覆盖圆,那么所有的点一定在两圆的…

如何解决You have an error in your SQL syntax

当遇到 "You have an error in your SQL syntax" 这类错误时,通常表明 SQL 语句存在语法错误。这类错误通常会给出具体的错误位置和可能的原因。下面是一些详细的解决步骤: 解决方法:查看错误提示:错误提示通常会显示具体的 SQL 语句和出错的位置。例如: You ha…

网络安全C10-2024.9.15-Nmap、Xray、Nessus和AWVS使用扫描

1、安装并使用Nmap扫描一个地址(本机、VPS、虚拟机环境都可以),提供扫描结果截图nmap下载安装: https://nmap.org/download#windowsnmap概述: Nmap(“Network Mapper<网络映射器>”)是一款开放源代码的网络探测和安全审核的工具。 Nmap输出的是扫描目标的列表,以…

Warning: Cannot redeclare function_name()

"Warning: Cannot redeclare function_name()"原因:尝试重新声明已存在的函数。 解决方法:检查是否有重复定义函数的情况,确保每个函数只定义一次。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javas…

2024-08-29-SEA-RAFT-中英对照

SEA-RAFT: Simple, Efficient, Accurate RAFT for Optical Flow SEA-RAFT:简单、高效、准确的光流RAFT算法 Yihan Wang, Lahav Lipson, and Jia Deng 王一涵,Lahav Lipson,和Jia Deng Department of Computer Science, Princeton University {yw7685, llipson, jiadeng}@pr…

You have an error in your SQL syntax

"You have an error in your SQL syntax"原因:SQL语句语法错误。 解决方法:检查SQL语句,确保语法正确。例如,如果提示在LIMIT子句附近出错,检查LIMIT后面的参数是否合法。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MY…

Parse error: syntax error

"Parse error: syntax error"原因:这通常表明PHP在解析脚本时遇到了语法错误。 解决方法:检查错误提示中的文件和行号,查找语法错误,如括号不匹配、拼写错误、遗漏的分号等。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+…

帝国CMS提示parseerrorsyntaxerror如何解决

当帝国CMS提示“Parse error: syntax error”时,这通常意味着PHP在解析脚本时遇到了语法错误。这种错误可能是由多种原因引起的,以下是一些常见的解决方法: 解决方法:检查PHP版本兼容性:如果你正在使用的是较新的PHP版本(比如PHP 7及以上),而帝国CMS的某些部分代码可能…