Bahasa
Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi Windows Forms Anda dapat memanfaatkan fitur manajemen daya dalam sistem operasi Windows. Aplikasi Anda dapat memantau status daya komputer dan mengambil tindakan saat perubahan status terjadi. Misalnya, jika aplikasi Anda berjalan di komputer portabel, Anda mungkin ingin menonaktifkan fitur tertentu dalam aplikasi Anda ketika daya baterai komputer berada di bawah tingkat tertentu.
.NET Framework menyediakan peristiwa PowerModeChanged yang terjadi setiap kali ada perubahan status daya, seperti ketika pengguna menangguhkan atau melanjutkan sistem operasi, atau ketika status daya AC atau status baterai berubah. Properti PowerStatus kelas SystemInformation dapat digunakan untuk mengkueri status saat ini, seperti yang diperlihatkan dalam contoh kode berikut.
public Form1()
{
InitializeComponent();
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}
void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
switch (SystemInformation.PowerStatus.BatteryChargeStatus)
{
case System.Windows.Forms.BatteryChargeStatus.Low:
MessageBox.Show("Battery is running low.", "Low Battery", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
break;
case System.Windows.Forms.BatteryChargeStatus.Critical:
MessageBox.Show("Battery is critcally low.", "Critical Battery", MessageBoxButtons.OK, MessageBoxIcon.Stop);
break;
default:
// Battery is okay.
break;
}
}
Public Sub New()
InitializeComponent()
AddHandler Microsoft.Win32.SystemEvents.PowerModeChanged, AddressOf PowerModeChanged
End Sub
Private Sub PowerModeChanged(ByVal Sender As System.Object, ByVal e As Microsoft.Win32.PowerModeChangedEventArgs)
Select Case SystemInformation.PowerStatus.BatteryChargeStatus
Case BatteryChargeStatus.Low
MessageBox.Show("Battery is running low.", "Low Battery", MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Exclamation)
Case BatteryChargeStatus.Critical
MessageBox.Show("Battery is critically low.", "Critical Battery", MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Stop)
Case Else
' Battery is okay.
Exit Select
End Select
End Sub
Selain enumerasi BatteryChargeStatus, properti PowerStatus juga berisi enumerasi untuk menentukan kapasitas baterai (BatteryFullLifetime) dan persentase pengisian daya baterai (BatteryLifePercent, BatteryLifeRemaining).
Anda dapat menggunakan metode SetSuspendStateApplication untuk memasukkan komputer ke dalam mode hibernasi atau suspend. Jika argumen force diatur ke false, sistem operasi akan menyiarkan peristiwa ke semua aplikasi yang meminta izin untuk ditangguhkan. Jika argumen disableWakeEvent diatur ke true, sistem operasi menonaktifkan semua peristiwa bangun.
Contoh kode berikut menunjukkan cara memasukkan komputer ke dalam hibernasi.
if (SystemInformation.PowerStatus.BatteryChargeStatus == System.Windows.Forms.BatteryChargeStatus.Critical)
{
Application.SetSuspendState(PowerState.Hibernate, false, false);
}
If SystemInformation.PowerStatus.BatteryChargeStatus = System.Windows.Forms.BatteryChargeStatus.Critical Then
Application.SetSuspendState(PowerState.Hibernate, False, False)
End If
Lihat juga
.NET Desktop feedback