refactor: 项目稳定性优化
This commit is contained in:
36
MainForm.cs
36
MainForm.cs
@@ -7,9 +7,9 @@ namespace TimerApp
|
||||
{
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
private ActivityMonitor _monitor;
|
||||
private ActivityMonitor _monitor = null!;
|
||||
private AppSettings _settings;
|
||||
private RestForm _restForm;
|
||||
private RestForm? _restForm;
|
||||
|
||||
// Colors
|
||||
private Color _darkBg = Color.FromArgb(30, 30, 30);
|
||||
@@ -106,8 +106,8 @@ namespace TimerApp
|
||||
// Manual input validation
|
||||
txtWork.KeyPress += ValidateDigitInput;
|
||||
txtRest.KeyPress += ValidateDigitInput;
|
||||
txtWork.Leave += (s, ev) => ValidateRange((TextBox)s, 1, 120);
|
||||
txtRest.Leave += (s, ev) => ValidateRange((TextBox)s, 1, 30);
|
||||
txtWork.Leave += (s, ev) => ValidateRange((TextBox)s!, 1, 120);
|
||||
txtRest.Leave += (s, ev) => ValidateRange((TextBox)s!, 1, 30);
|
||||
|
||||
// Focus handling (remove custom caret)
|
||||
txtWork.KeyDown += TextBox_KeyDown;
|
||||
@@ -163,7 +163,7 @@ namespace TimerApp
|
||||
}
|
||||
}
|
||||
|
||||
private void ValidateDigitInput(object sender, KeyPressEventArgs e)
|
||||
private void ValidateDigitInput(object? sender, KeyPressEventArgs e)
|
||||
{
|
||||
// Allow control keys (backspace, etc.) and digits
|
||||
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
|
||||
@@ -216,7 +216,7 @@ namespace TimerApp
|
||||
|
||||
// CustomCaret removed to use system caret with centered text
|
||||
|
||||
private void TextBox_KeyDown(object sender, KeyEventArgs e)
|
||||
private void TextBox_KeyDown(object? sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
@@ -407,11 +407,11 @@ namespace TimerApp
|
||||
_monitor.IdleThreshold = TimeSpan.FromSeconds(_settings.IdleThresholdSeconds);
|
||||
}
|
||||
|
||||
private void Monitor_StateChanged(object sender, EventArgs e)
|
||||
private void Monitor_StateChanged(object? sender, EventArgs e)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action<object, EventArgs>(Monitor_StateChanged), sender, e);
|
||||
Invoke(new Action<object?, EventArgs>(Monitor_StateChanged), sender, e);
|
||||
return;
|
||||
}
|
||||
UpdateStatusUI();
|
||||
@@ -456,11 +456,11 @@ namespace TimerApp
|
||||
}
|
||||
}
|
||||
|
||||
private void Monitor_WorkProgressChanged(object sender, TimeSpan remaining)
|
||||
private void Monitor_WorkProgressChanged(object? sender, TimeSpan remaining)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action<object, TimeSpan>(Monitor_WorkProgressChanged), sender, remaining);
|
||||
Invoke(new Action<object?, TimeSpan>(Monitor_WorkProgressChanged), sender, remaining);
|
||||
return;
|
||||
}
|
||||
lblTimeLeft.Text = $"{remaining.Minutes:D2}:{remaining.Seconds:D2}";
|
||||
@@ -476,11 +476,11 @@ namespace TimerApp
|
||||
}
|
||||
}
|
||||
|
||||
private void Monitor_RestStarted(object sender, EventArgs e)
|
||||
private void Monitor_RestStarted(object? sender, EventArgs e)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action<object, EventArgs>(Monitor_RestStarted), sender, e);
|
||||
Invoke(new Action<object?, EventArgs>(Monitor_RestStarted), sender, e);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -494,13 +494,13 @@ namespace TimerApp
|
||||
_restForm.Show();
|
||||
}
|
||||
|
||||
private void RestForm_SkipRequested(object sender, EventArgs e)
|
||||
private void RestForm_SkipRequested(object? sender, EventArgs e)
|
||||
{
|
||||
_monitor.Stop();
|
||||
_monitor.Start();
|
||||
}
|
||||
|
||||
private void Monitor_RestProgressChanged(object sender, TimeSpan remaining)
|
||||
private void Monitor_RestProgressChanged(object? sender, TimeSpan remaining)
|
||||
{
|
||||
if (_restForm != null && !_restForm.IsDisposed && _restForm.Visible)
|
||||
{
|
||||
@@ -508,11 +508,11 @@ namespace TimerApp
|
||||
}
|
||||
}
|
||||
|
||||
private void Monitor_RestEnded(object sender, EventArgs e)
|
||||
private void Monitor_RestEnded(object? sender, EventArgs e)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action<object, EventArgs>(Monitor_RestEnded), sender, e);
|
||||
Invoke(new Action<object?, EventArgs>(Monitor_RestEnded), sender, e);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -555,12 +555,12 @@ namespace TimerApp
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
private void notifyIcon1_MouseDoubleClick(object? sender, MouseEventArgs e)
|
||||
{
|
||||
ShowForm();
|
||||
}
|
||||
|
||||
private void toolStripMenuItemShow_Click(object sender, EventArgs e)
|
||||
private void toolStripMenuItemShow_Click(object? sender, EventArgs e)
|
||||
{
|
||||
ShowForm();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user