Files
AsusFanControlEnhanced/AsusFanControlGUI/Form1.cs
2023-11-07 21:33:02 +01:00

83 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AsusFanControl;
namespace AsusFanControlGUI
{
public partial class Form1 : Form
{
AsusControl asusControl = new AsusControl();
int fanSpeed = 0;
public Form1()
{
InitializeComponent();
trackBarFanSpeed.Value = Properties.Settings.Default.fanSpeed;
}
private void setFanSpeed()
{
var value = trackBarFanSpeed.Value;
Properties.Settings.Default.fanSpeed = value;
Properties.Settings.Default.Save();
if (!checkBoxTurnOn.Checked)
value = 0;
else if(value < 40)
value = 0;
else if (value > 99)
value = 99;
if (!checkBoxTurnOn.Checked)
labelValue.Text = "turned off";
else if (value == 0)
labelValue.Text = "turned off (set value between 40 and 100)";
else
labelValue.Text = value.ToString();
if (fanSpeed == value)
return;
fanSpeed = value;
asusControl.SetFansSpeed(value);
}
private void trackBar1_MouseCaptureChanged(object sender, EventArgs e)
{
setFanSpeed();
}
private void trackBar1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Left && e.KeyCode != Keys.Right)
return;
setFanSpeed();
}
private void button1_Click(object sender, EventArgs e)
{
labelRPM.Text = string.Join(" ", asusControl.GetFanSpeeds());
}
private void checkBoxTurnOn_CheckedChanged(object sender, EventArgs e)
{
setFanSpeed();
}
private void button2_Click(object sender, EventArgs e)
{
labelCPUTemp.Text = $"{asusControl.Thermal_Read_Cpu_Temperature()}";
}
}
}