2026-01-29 08:39:56 +08:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
|
|
namespace YiDa_WinForm
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class ScrapUploadForm : Form
|
|
|
|
|
|
{
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 对外暴露的选择结果
|
2026-01-29 08:39:56 +08:00
|
|
|
|
public bool IsScrapUploadSelected { get; private set; }
|
|
|
|
|
|
public bool IsScrapTimedAlarmSelected { get; private set; }
|
|
|
|
|
|
public int ScrapTimedInterval { get; private set; }
|
|
|
|
|
|
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 新增:保存用户上次的勾选状态(用于持久化)
|
|
|
|
|
|
private bool _lastScrapUploadSelected;
|
|
|
|
|
|
private bool _lastScrapTimedAlarmSelected;
|
|
|
|
|
|
|
|
|
|
|
|
// 无参构造函数(保留,避免报错)
|
2026-01-29 08:39:56 +08:00
|
|
|
|
public ScrapUploadForm()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 默认初始化(首次打开的默认状态)
|
|
|
|
|
|
_lastScrapUploadSelected = true;
|
|
|
|
|
|
_lastScrapTimedAlarmSelected = true;
|
|
|
|
|
|
ScrapTimedInterval = 120;
|
|
|
|
|
|
InitFormControl();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 新增:带完整参数的构造函数(接收主窗体传递的「上次勾选状态+间隔值」)
|
|
|
|
|
|
public ScrapUploadForm(bool lastUploadSelected, bool lastTimedAlarmSelected, int lastInterval)
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
// 保存上次状态
|
|
|
|
|
|
_lastScrapUploadSelected = lastUploadSelected;
|
|
|
|
|
|
_lastScrapTimedAlarmSelected = lastTimedAlarmSelected;
|
|
|
|
|
|
ScrapTimedInterval = lastInterval > 0 ? lastInterval : 120;
|
|
|
|
|
|
// 初始化控件状态
|
|
|
|
|
|
InitFormControl();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 简化:仅接收间隔值的构造函数(兼容原有调用,保持向下兼容)
|
|
|
|
|
|
public ScrapUploadForm(int lastInterval)
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
// 默认勾选状态(首次打开)
|
|
|
|
|
|
_lastScrapUploadSelected = true;
|
|
|
|
|
|
_lastScrapTimedAlarmSelected = true;
|
|
|
|
|
|
ScrapTimedInterval = lastInterval > 0 ? lastInterval : 120;
|
|
|
|
|
|
InitFormControl();
|
2026-01-29 08:39:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-29 20:29:12 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 初始化控件状态(根据保存的上次状态)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private void InitFormControl()
|
|
|
|
|
|
{
|
|
|
|
|
|
// 恢复上次的勾选状态(核心:持久化用户选择)
|
|
|
|
|
|
checkBoxScrapUpload.Checked = _lastScrapUploadSelected;
|
|
|
|
|
|
checkBoxScrapTimedAlarm.Checked = _lastScrapTimedAlarmSelected;
|
|
|
|
|
|
// 初始化间隔输入框
|
|
|
|
|
|
textBoxScrapInterval.Text = ScrapTimedInterval.ToString();
|
|
|
|
|
|
// 控制输入框可用性
|
|
|
|
|
|
textBoxScrapInterval.Enabled = checkBoxScrapTimedAlarm.Checked;
|
|
|
|
|
|
labelScrapInterval.Enabled = checkBoxScrapTimedAlarm.Checked;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 确定按钮点击事件
|
2026-01-29 08:39:56 +08:00
|
|
|
|
private void buttonConfirm_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 1. 获取用户本次选择(保存到对外暴露的属性)
|
2026-01-29 08:39:56 +08:00
|
|
|
|
IsScrapUploadSelected = checkBoxScrapUpload.Checked;
|
|
|
|
|
|
IsScrapTimedAlarmSelected = checkBoxScrapTimedAlarm.Checked;
|
2026-01-29 20:29:12 +08:00
|
|
|
|
|
|
|
|
|
|
// 2. 校验时间间隔(仅当勾选报警时校验)
|
2026-01-29 08:39:56 +08:00
|
|
|
|
if (IsScrapTimedAlarmSelected)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (int.TryParse(textBoxScrapInterval.Text, out int interval) && interval > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
ScrapTimedInterval = interval;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
MessageBox.Show("请输入有效的正整数时间间隔!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 3. 关闭弹窗(返回OK结果)
|
2026-01-29 08:39:56 +08:00
|
|
|
|
DialogResult = DialogResult.OK;
|
|
|
|
|
|
Close();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 取消按钮点击事件
|
2026-01-29 08:39:56 +08:00
|
|
|
|
private void buttonCancel_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
DialogResult = DialogResult.Cancel;
|
|
|
|
|
|
Close();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-29 20:29:12 +08:00
|
|
|
|
// 定时报警复选框状态变更(控制输入框可用性)
|
2026-01-29 08:39:56 +08:00
|
|
|
|
private void checkBoxScrapTimedAlarm_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
textBoxScrapInterval.Enabled = checkBoxScrapTimedAlarm.Checked;
|
|
|
|
|
|
labelScrapInterval.Enabled = checkBoxScrapTimedAlarm.Checked;
|
|
|
|
|
|
}
|
2026-01-29 20:29:12 +08:00
|
|
|
|
|
|
|
|
|
|
// 无用事件(保留,避免设计器报错)
|
|
|
|
|
|
private void label1_Click(object sender, EventArgs e) { }
|
|
|
|
|
|
private void textBoxScrapInterval_TextChanged(object sender, EventArgs e) { }
|
2026-01-29 08:39:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|