c# 筆記 winform新增右鍵選單,獲取檔案大小 ,多條件排序OrderBy、ThenBy,list<double>擷取前5個

一点灯發表於2024-09-20

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

參考連結
參考連結

相關文章