C# WinForms 查看電源狀態 PowerStatus

在 C# WinForms 中可以使用 SystemInformation.PowerStatus 來查看電腦電源狀態:
    
// 取得電源狀態資訊
PowerStatus powerStatus = SystemInformation.PowerStatus;

// 電池剩餘電量百分比
float batteryLifePercent = powerStatus.BatteryLifePercent * 100;

// 是否使用電池
string powerLineStatus = powerStatus.PowerLineStatus switch
{
    PowerLineStatus.Offline => "電池供電",
    PowerLineStatus.Online => "連接電源/充電中",
    PowerLineStatus.Unknown => "電池狀態未知",
    _ => throw new ArgumentOutOfRangeException()
};

// 電池剩餘時間(秒)
int batteryLifeRemaining = powerStatus.BatteryLifeRemaining; // 使用電池供電時才會顯示電池剩餘時間

string powerStatusInfo =
    $"電池百分比: {batteryLifePercent}%\n" +
    $"充電狀態:{powerLineStatus}\n" +
    $"電池剩餘時間: {(batteryLifeRemaining != -1 ? $"{batteryLifeRemaining / 60} 分鐘" : "未知")}";
                         

MessageBox.Show(powerStatusInfo, "電源狀態");
    




參考資料:
Microsoft.Learn - SystemInformation.PowerStatus Property

留言