c# 笔记 winform添加右键菜单,获取文件大小 ,多条件排序OrderBy、ThenBy,list<double>截取前5个
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;
}
判断文件是否存在
方法一:使用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属性来判断文件是否存在。
获取文件的完整名称(包括扩展名)
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\path\to\your\file.txt";
// 获取文件名称和扩展名
string fileName = Path.GetFileName(filePath);
string extension = Path.GetExtension(filePath);
Console.WriteLine("FileName with Extension: " + fileName);
Console.WriteLine("File Extension: " + extension);
}
}
当您运行这段代码时,它会输出文件的完整名称和扩展名。例如,如果filePath是file.txt,它将输出:
FileName with Extension: file.txt
File Extension: .txt
多条件排序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);
}
}
}