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

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

时间:2024-09-20 10:02:24浏览次数:9  
标签:OrderBy 文件大小 Exists 文件 filePath 右键 菜单项 FileInfo

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);
        }
    }
}

参考链接
参考链接

标签:OrderBy,文件大小,Exists,文件,filePath,右键,菜单项,FileInfo
From: https://www.cnblogs.com/yzxxty/p/18421701

相关文章

  • Docker限制日志文件大小及个数
    对单个容器生效dockerrun--log-optmax-size=10m--log-optmax-file=3全局容器生效vim/etc/docker/daemon.json{"log-driver":"json-file","log-opts":{"max-size":"200m","max-file"......
  • tauri2.x+vue3实践篇|封装多窗口|tauri2.0自定义托盘闪烁消息提示+右键菜单
    最近一直在捣鼓Tauri2.0跨平台框架,之前也有分享几篇tauri1.x实例项目。相较于1.0,tauri2.x框架api有了比较多的变更,而且支持创建android/ios移动端应用。实现类似QQ托盘闪烁消息提醒及右键菜单。框架信息"@tauri-apps/api":">=2.0.0-rc.0","@tauri-apps/cli":">=......
  • python logging 限制文件大小
    环境window10,pycharm23.0.2logging的配置使用logging模块时,你可以通过logging.handlers.RotatingFileHandler类来限制日志文件的大小。当日志文件达到指定大小时,RotatingFileHandler会自动创建一个新的日志文件,并将后续的日志记录到新的文件中。代码importloggingfro......
  • 解决PbootCMS上传文件大小限制
    你可以配置PHP和Web服务器以支持大文件上传。具体步骤如下:打开 php.ini 文件并配置基本参数:file_uploads=onupload_tmp_dir=/tmpupload_max_filesize=32Mpost_max_size=32M进一步配置其他参数:max_execution_time=600max_input_time=600memory_l......
  • Pycharm Flask 右键运行 运行参数与main中配置不同
    解决PycharmFlask(默认ip与端口不能改变与改变之后外网依旧不能访问ip的问题)_朋友charmflask改端口-CSDN博客想要和main中相同,可以在命令行执行pythonapp.py,或者按下面操作  设置完之后,记得点这里的运行,因为右键会变成xxx(1),暂时不知道右键这个咋改 ......
  • PbootCMS上传文件大小限制
    在PBootCMS中,上传文件大小限制通常受到PHP配置文件php.ini的影响。为了提高上传文件的大小限制,你需要修改php.ini文件中的相关配置项,并确保服务重启以使配置生效。此外,还需要考虑Web服务器(如Nginx或IIS)的配置。修改php.ini文件备份php.ini文件:在修改任何配置文件之前,务必先......
  • QT简易右键菜单示例
    widget.h#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>#include<QMenu>classWidget:publicQWidget{Q_OBJECTpublic:Widget(QWidget*parent=nullptr);~Widget();private:voidcontextMenuEvent(QContextMenuEvent*event)overri......
  • 【实战篇】为什么表数据删掉一半,表文件大小不变?
    背景日常使用中,当数据库占用空间太大,把一个最大的表删掉了一半的数据,但是表文件的大小还是没变,这是为什么呢?针对InnoDB引擎,一个InnoDB表包含两部分,即:表结构定义和数据。在MySQL8.0版本以前,表结构是存在以.frm为后缀的文件里。而MySQL8.0版本,则已经允许把表结构......
  • 微信小程序 云数据库 Collection/Query .orderBy 用法
    Collection.orderBy/Query.orderBy指定查询排序条件方法签名如下:functionorderBy(fieldName:string,order:string):Collection|Query方法接受一个必填字符串参数fieldName用于定义需要排序的字段,一个字符串参数order定义排序顺序。order只能取asc或desc。如果需要......
  • 微信小程序 云数据库 Collection/Query .orderBy 用法
    Collection.orderBy/Query.orderBy指定查询排序条件方法签名如下:functionorderBy(fieldName:string,order:string):Collection|Query方法接受一个必填字符串参数fieldName用于定义需要排序的字段,一个字符串参数order定义排序顺序。order只能取asc或desc。如果需要......