2025-03-16 13:11:08 +08:00

75 lines
1.9 KiB
C#

using System;
using System.Drawing;
using System.Windows.Forms;
namespace XKRS.UI.Model.Winform
{
public partial class GridCtrl : UserControl
{
public Action<bool> IsShowGridChanged { get; set; }
public Action<int> GridValueChanged { get; set; }
public Action<Color> GridColorChanged { get; set; }
public GridCtrl()
{
InitializeComponent();
IsChecked = chkShowGrid.Checked;
GridValue = tbGridValue.Value;
}
bool isChecked = false;
bool IsChecked
{
get => isChecked;
set
{
if (isChecked != value)
{
// IsShowGridChanged?.BeginInvoke(value, null, null);
Task.Run(() => IsShowGridChanged.Invoke(value));
}
isChecked = value;
}
}
int gridValue = 0;
int GridValue
{
get => gridValue;
set
{
if (gridValue != value)
{
// GridValueChanged?.BeginInvoke(value, null, null);
Task.Run(() => GridValueChanged.Invoke(value));
}
gridValue = value;
}
}
private void chkShowGrid_CheckedChanged(object sender, EventArgs e)
{
IsChecked = chkShowGrid.Checked;
}
private void tbGridValue_ValueChanged(object sender, EventArgs e)
{
GridValue = tbGridValue.Value;
}
private void btnColor_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
btnColor.BackColor = colorDialog1.Color;
// GridColorChanged?.BeginInvoke(btnColor.BackColor, null, null);
Task.Run(() => GridColorChanged.Invoke(btnColor.BackColor));
}
}
}
}