
Логика переключения несложная, просто я хоть убей не могу понять, как изменить цвет кнопки в столбце или изменить горизонтальное выравниваниеУ меня есть следующее Событие ButtonClick:
folvOutputs.ButtonClick += delegate (object sender, CellClickEventArgs e)
{
ioClass ioObj = e.Model as ioClass;
bool bOn = false;
if (ioObj.ioStatus == 1)
{
bOn = true;
}
e.Item.ForeColor = Color.Red;
e.SubItem.ForeColor = Color.Red;
sendCANMessageToSwitch((byte)ioObj.ioSourceAddress, (byte)ioObj.ioSubID, bOn);
folvOutputs.RefreshObject(ioObj);
};
Это не предполагаемая логика, а просто проверка того, изменится ли цвет на самом деле. Это не так. У меня также есть FormatCellEvent с включенным UseCellFormatEvents:
private void folvOutputs_FormatCell(object sender, BrightIdeasSoftware.FormatCellEventArgs e)
{
if (e.SubItem is null) return;
if (e.ColumnIndex == 6)
{
ioClass ioObj = (ioClass)e.Model;
if (ioObj.ioStatus == 1)
{
e.SubItem.ForeColor = Color.Green;
}
else
{
e.SubItem.ForeColor = Color.Red;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... ton-column
Мобильная версия